@openrig/cli 0.5.8 → 0.5.10

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 (1083) hide show
  1. package/daemon/assets/claude-statusline-context.cjs +1 -0
  2. package/daemon/assets/plugins/openrig-core/README.md +1 -1
  3. package/daemon/assets/plugins/openrig-core/skills/agent-operated-software/SKILL.md +92 -0
  4. package/daemon/assets/plugins/openrig-core/skills/agent-operated-workflows/SKILL.md +79 -0
  5. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +2 -2
  6. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +48 -61
  7. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +19 -5
  8. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +4 -2
  9. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +37 -16
  10. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +11 -179
  11. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  12. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +88 -28
  13. package/daemon/context-packs/skills/agent-operated-software/SKILL.md +92 -0
  14. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +10 -0
  15. package/daemon/context-packs/skills/agent-operated-workflows/SKILL.md +79 -0
  16. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +10 -0
  17. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +21 -6
  21. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +48 -61
  25. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +3 -3
  26. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +4 -2
  30. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +81 -0
  32. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +3 -1
  33. package/daemon/context-packs/skills/core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs +1419 -0
  34. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +2 -2
  42. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/mission-slice-sop/SKILL.md +19 -5
  45. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/openrig-user/SKILL.md +37 -16
  48. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/pods/development-team/SKILL.md +40 -139
  58. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -3
  59. package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +40 -60
  60. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +3 -3
  61. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/pods/review-team/SKILL.md +34 -31
  63. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +3 -3
  64. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  67. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/process/test-driven-development/SKILL.md +6 -8
  70. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/software-for-agents/SKILL.md +11 -179
  78. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +3 -3
  79. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  80. package/daemon/context-packs/world-example/your-world.md +1 -1
  81. package/daemon/context-packs/world-public/build-your-world.md +19 -0
  82. package/daemon/context-packs/world-public/claims.yaml +5 -1
  83. package/daemon/context-packs/world-public/manifest.yaml +40 -1
  84. package/daemon/context-packs/world-public/verify-world.sh +25 -9
  85. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  86. package/daemon/dist/adapters/claude-code-adapter.js +4 -2
  87. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  88. package/daemon/dist/build-info.js +3 -3
  89. package/daemon/dist/db/all-migrations.d.ts +1 -1
  90. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  91. package/daemon/dist/db/all-migrations.js +3 -1
  92. package/daemon/dist/db/all-migrations.js.map +1 -1
  93. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +8 -5
  94. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -1
  95. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js +8 -5
  96. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -1
  97. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts +8 -0
  98. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts.map +1 -0
  99. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js +50 -0
  100. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js.map +1 -0
  101. package/daemon/dist/domain/active-occupant.d.ts +6 -1
  102. package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  103. package/daemon/dist/domain/active-occupant.js +47 -0
  104. package/daemon/dist/domain/active-occupant.js.map +1 -1
  105. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  106. package/daemon/dist/domain/bootstrap-orchestrator.js +8 -1
  107. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  108. package/daemon/dist/domain/bundle-context-packs-router.d.ts +3 -3
  109. package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  110. package/daemon/dist/domain/bundle-skills-router.d.ts +3 -0
  111. package/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -1
  112. package/daemon/dist/domain/bundle-skills-router.js +5 -1
  113. package/daemon/dist/domain/bundle-skills-router.js.map +1 -1
  114. package/daemon/dist/domain/claim-service.d.ts +2 -0
  115. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  116. package/daemon/dist/domain/claim-service.js +33 -12
  117. package/daemon/dist/domain/claim-service.js.map +1 -1
  118. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  119. package/daemon/dist/domain/context-packs/context-pack-library-service.js +9 -1
  120. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  121. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +25 -0
  122. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  123. package/daemon/dist/domain/context-packs/context-pack-types.js +3 -1
  124. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  125. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  126. package/daemon/dist/domain/context-packs/manifest-parser.js +143 -3
  127. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  128. package/daemon/dist/domain/context-packs/profile-composer.d.ts +22 -1
  129. package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
  130. package/daemon/dist/domain/context-packs/profile-composer.js +105 -40
  131. package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
  132. package/daemon/dist/domain/context-usage-store.d.ts +4 -0
  133. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  134. package/daemon/dist/domain/context-usage-store.js +8 -4
  135. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  136. package/daemon/dist/domain/crash-cart-conductor.d.ts +13 -0
  137. package/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
  138. package/daemon/dist/domain/crash-cart-conductor.js +3 -1
  139. package/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
  140. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  141. package/daemon/dist/domain/execution-view.js +145 -16
  142. package/daemon/dist/domain/execution-view.js.map +1 -1
  143. package/daemon/dist/domain/gateway/channel-operations.d.ts +39 -0
  144. package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -0
  145. package/daemon/dist/domain/gateway/channel-operations.js +35 -0
  146. package/daemon/dist/domain/gateway/channel-operations.js.map +1 -0
  147. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +3 -0
  148. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  149. package/daemon/dist/domain/gateway/gateway-subsystem.js +3 -0
  150. package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  151. package/daemon/dist/domain/gateway/human-readiness.d.ts +37 -0
  152. package/daemon/dist/domain/gateway/human-readiness.d.ts.map +1 -0
  153. package/daemon/dist/domain/gateway/human-readiness.js +44 -0
  154. package/daemon/dist/domain/gateway/human-readiness.js.map +1 -0
  155. package/daemon/dist/domain/gateway/human-registry.d.ts +2 -7
  156. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  157. package/daemon/dist/domain/gateway/human-registry.js +2 -7
  158. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  159. package/daemon/dist/domain/gateway/slack/inbound.d.ts +16 -1
  160. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  161. package/daemon/dist/domain/gateway/slack/inbound.js +35 -12
  162. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  163. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +1 -0
  164. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  165. package/daemon/dist/domain/gateway/slack/queue-access.js +1 -0
  166. package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
  167. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +18 -0
  168. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  169. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +62 -8
  170. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  171. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +13 -0
  172. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
  173. package/daemon/dist/domain/gateway/slack/socket-inbound.js +59 -1
  174. package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
  175. package/daemon/dist/domain/gateway/slack/state-store.d.ts +21 -0
  176. package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
  177. package/daemon/dist/domain/gateway/slack/state-store.js +28 -1
  178. package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
  179. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts +2 -0
  180. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
  181. package/daemon/dist/domain/gateway/slack/thread-routing.js +6 -1
  182. package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
  183. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +4 -0
  184. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
  185. package/daemon/dist/domain/gateway/slack/thread-seat-map.js +11 -0
  186. package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
  187. package/daemon/dist/domain/health-checkpoints.d.ts +57 -0
  188. package/daemon/dist/domain/health-checkpoints.d.ts.map +1 -0
  189. package/daemon/dist/domain/health-checkpoints.js +198 -0
  190. package/daemon/dist/domain/health-checkpoints.js.map +1 -0
  191. package/daemon/dist/domain/health-context.d.ts +14 -0
  192. package/daemon/dist/domain/health-context.d.ts.map +1 -0
  193. package/daemon/dist/domain/health-context.js +93 -0
  194. package/daemon/dist/domain/health-context.js.map +1 -0
  195. package/daemon/dist/domain/health-detectors.d.ts +106 -0
  196. package/daemon/dist/domain/health-detectors.d.ts.map +1 -0
  197. package/daemon/dist/domain/health-detectors.js +392 -0
  198. package/daemon/dist/domain/health-detectors.js.map +1 -0
  199. package/daemon/dist/domain/health-diagnosis.d.ts +143 -0
  200. package/daemon/dist/domain/health-diagnosis.d.ts.map +1 -0
  201. package/daemon/dist/domain/health-diagnosis.js +249 -0
  202. package/daemon/dist/domain/health-diagnosis.js.map +1 -0
  203. package/daemon/dist/domain/health-passive-ceremony.d.ts +19 -0
  204. package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -0
  205. package/daemon/dist/domain/health-passive-ceremony.js +234 -0
  206. package/daemon/dist/domain/health-passive-ceremony.js.map +1 -0
  207. package/daemon/dist/domain/health-policy.d.ts +45 -0
  208. package/daemon/dist/domain/health-policy.d.ts.map +1 -0
  209. package/daemon/dist/domain/health-policy.js +89 -0
  210. package/daemon/dist/domain/health-policy.js.map +1 -0
  211. package/daemon/dist/domain/health-projection.d.ts +237 -0
  212. package/daemon/dist/domain/health-projection.d.ts.map +1 -0
  213. package/daemon/dist/domain/health-projection.js +312 -0
  214. package/daemon/dist/domain/health-projection.js.map +1 -0
  215. package/daemon/dist/domain/instance-initialization.d.ts +25 -0
  216. package/daemon/dist/domain/instance-initialization.d.ts.map +1 -0
  217. package/daemon/dist/domain/instance-initialization.js +81 -0
  218. package/daemon/dist/domain/instance-initialization.js.map +1 -0
  219. package/daemon/dist/domain/lifecycle-manifest.d.ts +19 -0
  220. package/daemon/dist/domain/lifecycle-manifest.d.ts.map +1 -0
  221. package/daemon/dist/domain/lifecycle-manifest.js +73 -0
  222. package/daemon/dist/domain/lifecycle-manifest.js.map +1 -0
  223. package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +1 -1
  224. package/daemon/dist/domain/mission-control/mission-control-read-layer.js +14 -11
  225. package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
  226. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +36 -36
  227. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  228. package/daemon/dist/domain/model-divergence/current-generation-record.js +104 -135
  229. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  230. package/daemon/dist/domain/native-process-lineage.d.ts +10 -0
  231. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -0
  232. package/daemon/dist/domain/native-process-lineage.js +86 -0
  233. package/daemon/dist/domain/native-process-lineage.js.map +1 -0
  234. package/daemon/dist/domain/native-resume-probe.js +12 -1
  235. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  236. package/daemon/dist/domain/node-inventory.d.ts +2 -0
  237. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  238. package/daemon/dist/domain/node-inventory.js +4 -1
  239. package/daemon/dist/domain/node-inventory.js.map +1 -1
  240. package/daemon/dist/domain/node-launcher.d.ts +3 -0
  241. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  242. package/daemon/dist/domain/node-launcher.js +21 -8
  243. package/daemon/dist/domain/node-launcher.js.map +1 -1
  244. package/daemon/dist/domain/pane-binding-observation.d.ts +22 -0
  245. package/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -0
  246. package/daemon/dist/domain/pane-binding-observation.js +54 -0
  247. package/daemon/dist/domain/pane-binding-observation.js.map +1 -0
  248. package/daemon/dist/domain/policies/parked-owner-consumer.js +1 -1
  249. package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  250. package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  251. package/daemon/dist/domain/policies/workflow-keepalive.js +16 -2
  252. package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  253. package/daemon/dist/domain/profile-resolver.d.ts +12 -0
  254. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  255. package/daemon/dist/domain/profile-resolver.js +60 -0
  256. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  257. package/daemon/dist/domain/project-lifecycle-compiler.d.ts +35 -0
  258. package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -0
  259. package/daemon/dist/domain/project-lifecycle-compiler.js +219 -0
  260. package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -0
  261. package/daemon/dist/domain/provider/claude-usage-reader.d.ts +1 -1
  262. package/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -1
  263. package/daemon/dist/domain/provider/claude-usage-reader.js +28 -18
  264. package/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -1
  265. package/daemon/dist/domain/queue-repository.d.ts +19 -1
  266. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  267. package/daemon/dist/domain/queue-repository.js +66 -5
  268. package/daemon/dist/domain/queue-repository.js.map +1 -1
  269. package/daemon/dist/domain/queue-retention.d.ts +3 -4
  270. package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  271. package/daemon/dist/domain/queue-retention.js +5 -8
  272. package/daemon/dist/domain/queue-retention.js.map +1 -1
  273. package/daemon/dist/domain/queue-transition-log.d.ts +33 -0
  274. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  275. package/daemon/dist/domain/queue-transition-log.js +152 -0
  276. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  277. package/daemon/dist/domain/queue-wait-backoff.d.ts +21 -0
  278. package/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -0
  279. package/daemon/dist/domain/queue-wait-backoff.js +96 -0
  280. package/daemon/dist/domain/queue-wait-backoff.js.map +1 -0
  281. package/daemon/dist/domain/queue-wake-repository.d.ts +1 -0
  282. package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
  283. package/daemon/dist/domain/queue-wake-repository.js +8 -3
  284. package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
  285. package/daemon/dist/domain/restore-attempt-receipt.d.ts +34 -0
  286. package/daemon/dist/domain/restore-attempt-receipt.d.ts.map +1 -0
  287. package/daemon/dist/domain/restore-attempt-receipt.js +59 -0
  288. package/daemon/dist/domain/restore-attempt-receipt.js.map +1 -0
  289. package/daemon/dist/domain/restore-orchestrator.d.ts +57 -24
  290. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  291. package/daemon/dist/domain/restore-orchestrator.js +152 -26
  292. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  293. package/daemon/dist/domain/restore-topology.d.ts +14 -0
  294. package/daemon/dist/domain/restore-topology.d.ts.map +1 -0
  295. package/daemon/dist/domain/restore-topology.js +27 -0
  296. package/daemon/dist/domain/restore-topology.js.map +1 -0
  297. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  298. package/daemon/dist/domain/rig-lifecycle-service.js +9 -0
  299. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  300. package/daemon/dist/domain/rigspec-instantiator.d.ts +19 -0
  301. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  302. package/daemon/dist/domain/rigspec-instantiator.js +65 -1
  303. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  304. package/daemon/dist/domain/rigspec-preflight.d.ts +8 -0
  305. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  306. package/daemon/dist/domain/rigspec-preflight.js +4 -0
  307. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  308. package/daemon/dist/domain/seat-attention-reconciler.d.ts +23 -1
  309. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  310. package/daemon/dist/domain/seat-attention-reconciler.js +97 -46
  311. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  312. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  313. package/daemon/dist/domain/seat-identity-reconciler.js +15 -6
  314. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  315. package/daemon/dist/domain/seat-lifecycle-service.d.ts +47 -1
  316. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  317. package/daemon/dist/domain/seat-lifecycle-service.js +525 -29
  318. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  319. package/daemon/dist/domain/session-registry.d.ts +8 -1
  320. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  321. package/daemon/dist/domain/session-registry.js +19 -0
  322. package/daemon/dist/domain/session-registry.js.map +1 -1
  323. package/daemon/dist/domain/skill-catalog.d.ts +81 -0
  324. package/daemon/dist/domain/skill-catalog.d.ts.map +1 -0
  325. package/daemon/dist/domain/skill-catalog.js +827 -0
  326. package/daemon/dist/domain/skill-catalog.js.map +1 -0
  327. package/daemon/dist/domain/skill-discovery.d.ts +3 -0
  328. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  329. package/daemon/dist/domain/skill-discovery.js +1 -1
  330. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  331. package/daemon/dist/domain/snapshot-capture.d.ts +4 -1
  332. package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
  333. package/daemon/dist/domain/snapshot-capture.js +38 -2
  334. package/daemon/dist/domain/snapshot-capture.js.map +1 -1
  335. package/daemon/dist/domain/snapshot-repository.d.ts +15 -1
  336. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  337. package/daemon/dist/domain/snapshot-repository.js +103 -1
  338. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  339. package/daemon/dist/domain/startup-orchestrator.d.ts +2 -0
  340. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  341. package/daemon/dist/domain/startup-orchestrator.js +12 -0
  342. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  343. package/daemon/dist/domain/system-world.d.ts +45 -0
  344. package/daemon/dist/domain/system-world.d.ts.map +1 -0
  345. package/daemon/dist/domain/system-world.js +123 -0
  346. package/daemon/dist/domain/system-world.js.map +1 -0
  347. package/daemon/dist/domain/telemetry-state-paths.d.ts +7 -0
  348. package/daemon/dist/domain/telemetry-state-paths.d.ts.map +1 -0
  349. package/daemon/dist/domain/telemetry-state-paths.js +20 -0
  350. package/daemon/dist/domain/telemetry-state-paths.js.map +1 -0
  351. package/daemon/dist/domain/types.d.ts +106 -4
  352. package/daemon/dist/domain/types.d.ts.map +1 -1
  353. package/daemon/dist/domain/types.js.map +1 -1
  354. package/daemon/dist/domain/user-settings/settings-store.d.ts +16 -3
  355. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  356. package/daemon/dist/domain/user-settings/settings-store.js +137 -41
  357. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  358. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -0
  359. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  360. package/daemon/dist/domain/watchdog-jobs-repository.js +5 -0
  361. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  362. package/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -23
  363. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  364. package/daemon/dist/domain/watchdog-policy-engine.js +44 -226
  365. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  366. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  367. package/daemon/dist/domain/workflow-boot-sweep.js +20 -6
  368. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  369. package/daemon/dist/domain/workflow-instance-store.d.ts +33 -1
  370. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  371. package/daemon/dist/domain/workflow-instance-store.js +127 -2
  372. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  373. package/daemon/dist/domain/workflow-keepalive-arming.d.ts +7 -5
  374. package/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -1
  375. package/daemon/dist/domain/workflow-keepalive-arming.js +27 -16
  376. package/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -1
  377. package/daemon/dist/domain/workflow-projector.d.ts +30 -2
  378. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  379. package/daemon/dist/domain/workflow-projector.js +375 -14
  380. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  381. package/daemon/dist/domain/workflow-runtime.d.ts +62 -2
  382. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  383. package/daemon/dist/domain/workflow-runtime.js +391 -28
  384. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  385. package/daemon/dist/domain/workflow-spec-cache.d.ts +10 -2
  386. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  387. package/daemon/dist/domain/workflow-spec-cache.js +101 -0
  388. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  389. package/daemon/dist/domain/workflow-types.d.ts +46 -1
  390. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  391. package/daemon/dist/domain/workflow-types.js.map +1 -1
  392. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  393. package/daemon/dist/domain/workflow-validator.js +38 -3
  394. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  395. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +38 -9
  396. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  397. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +93 -347
  398. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  399. package/daemon/dist/gateway-human-registry-surface.d.ts +1 -0
  400. package/daemon/dist/gateway-human-registry-surface.d.ts.map +1 -1
  401. package/daemon/dist/gateway-human-registry-surface.js +1 -0
  402. package/daemon/dist/gateway-human-registry-surface.js.map +1 -1
  403. package/daemon/dist/gateway-slack-surface.d.ts +1 -0
  404. package/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
  405. package/daemon/dist/gateway-slack-surface.js +1 -0
  406. package/daemon/dist/gateway-slack-surface.js.map +1 -1
  407. package/daemon/dist/health-detectors-surface.d.ts +2 -0
  408. package/daemon/dist/health-detectors-surface.d.ts.map +1 -0
  409. package/daemon/dist/health-detectors-surface.js +2 -0
  410. package/daemon/dist/health-detectors-surface.js.map +1 -0
  411. package/daemon/dist/health-projection-surface.d.ts +2 -0
  412. package/daemon/dist/health-projection-surface.d.ts.map +1 -0
  413. package/daemon/dist/health-projection-surface.js +2 -0
  414. package/daemon/dist/health-projection-surface.js.map +1 -0
  415. package/daemon/dist/index.d.ts.map +1 -1
  416. package/daemon/dist/index.js +15 -0
  417. package/daemon/dist/index.js.map +1 -1
  418. package/daemon/dist/instance-initialization-surface.d.ts +3 -0
  419. package/daemon/dist/instance-initialization-surface.d.ts.map +1 -0
  420. package/daemon/dist/instance-initialization-surface.js +3 -0
  421. package/daemon/dist/instance-initialization-surface.js.map +1 -0
  422. package/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
  423. package/daemon/dist/lib/pane-envelope.js +4 -1
  424. package/daemon/dist/lib/pane-envelope.js.map +1 -1
  425. package/daemon/dist/project-lifecycle-surface.d.ts +3 -0
  426. package/daemon/dist/project-lifecycle-surface.d.ts.map +1 -0
  427. package/daemon/dist/project-lifecycle-surface.js +3 -0
  428. package/daemon/dist/project-lifecycle-surface.js.map +1 -0
  429. package/daemon/dist/routes/bundles.js +10 -9
  430. package/daemon/dist/routes/bundles.js.map +1 -1
  431. package/daemon/dist/routes/config.d.ts.map +1 -1
  432. package/daemon/dist/routes/config.js +27 -49
  433. package/daemon/dist/routes/config.js.map +1 -1
  434. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  435. package/daemon/dist/routes/context-packs.js +114 -16
  436. package/daemon/dist/routes/context-packs.js.map +1 -1
  437. package/daemon/dist/routes/crash-cart.js +3 -0
  438. package/daemon/dist/routes/crash-cart.js.map +1 -1
  439. package/daemon/dist/routes/gateway.d.ts +5 -1
  440. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  441. package/daemon/dist/routes/gateway.js +70 -22
  442. package/daemon/dist/routes/gateway.js.map +1 -1
  443. package/daemon/dist/routes/health-diagnosis.d.ts +3 -0
  444. package/daemon/dist/routes/health-diagnosis.d.ts.map +1 -0
  445. package/daemon/dist/routes/health-diagnosis.js +47 -0
  446. package/daemon/dist/routes/health-diagnosis.js.map +1 -0
  447. package/daemon/dist/routes/health.d.ts +3 -0
  448. package/daemon/dist/routes/health.d.ts.map +1 -0
  449. package/daemon/dist/routes/health.js +50 -0
  450. package/daemon/dist/routes/health.js.map +1 -0
  451. package/daemon/dist/routes/hosts.d.ts +2 -0
  452. package/daemon/dist/routes/hosts.d.ts.map +1 -1
  453. package/daemon/dist/routes/hosts.js +12 -5
  454. package/daemon/dist/routes/hosts.js.map +1 -1
  455. package/daemon/dist/routes/queue.d.ts.map +1 -1
  456. package/daemon/dist/routes/queue.js +20 -0
  457. package/daemon/dist/routes/queue.js.map +1 -1
  458. package/daemon/dist/routes/rigs.js +12 -1
  459. package/daemon/dist/routes/rigs.js.map +1 -1
  460. package/daemon/dist/routes/rigspec.js +9 -2
  461. package/daemon/dist/routes/rigspec.js.map +1 -1
  462. package/daemon/dist/routes/seat.js +21 -1
  463. package/daemon/dist/routes/seat.js.map +1 -1
  464. package/daemon/dist/routes/sessions.js +16 -6
  465. package/daemon/dist/routes/sessions.js.map +1 -1
  466. package/daemon/dist/routes/snapshots.d.ts.map +1 -1
  467. package/daemon/dist/routes/snapshots.js +41 -3
  468. package/daemon/dist/routes/snapshots.js.map +1 -1
  469. package/daemon/dist/routes/up.js +12 -1
  470. package/daemon/dist/routes/up.js.map +1 -1
  471. package/daemon/dist/routes/watchdog.d.ts.map +1 -1
  472. package/daemon/dist/routes/watchdog.js +7 -6
  473. package/daemon/dist/routes/watchdog.js.map +1 -1
  474. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  475. package/daemon/dist/routes/workflow.js +104 -39
  476. package/daemon/dist/routes/workflow.js.map +1 -1
  477. package/daemon/dist/server.d.ts +10 -0
  478. package/daemon/dist/server.d.ts.map +1 -1
  479. package/daemon/dist/server.js +9 -0
  480. package/daemon/dist/server.js.map +1 -1
  481. package/daemon/dist/skill-loadout-surface.d.ts +3 -0
  482. package/daemon/dist/skill-loadout-surface.d.ts.map +1 -0
  483. package/daemon/dist/skill-loadout-surface.js +2 -0
  484. package/daemon/dist/skill-loadout-surface.js.map +1 -0
  485. package/daemon/dist/startup.d.ts.map +1 -1
  486. package/daemon/dist/startup.js +101 -66
  487. package/daemon/dist/startup.js.map +1 -1
  488. package/daemon/dist/system-world-surface.d.ts +2 -0
  489. package/daemon/dist/system-world-surface.d.ts.map +1 -0
  490. package/daemon/dist/system-world-surface.js +2 -0
  491. package/daemon/dist/system-world-surface.js.map +1 -0
  492. package/daemon/docs/reference/getting-started.md +2 -1
  493. package/daemon/docs/reference/health-diagnosis.md +305 -0
  494. package/daemon/docs/reference/instance-layout.md +106 -0
  495. package/daemon/docs/reference/mission-install.md +12 -2
  496. package/daemon/docs/reference/product-journey-sdlc.md +53 -15
  497. package/daemon/docs/reference/project-workspace.md +66 -40
  498. package/daemon/docs/reference/sdlc-conventions.md +6 -4
  499. package/daemon/specs/agents/development/implementer/agent.yaml +1 -9
  500. package/daemon/specs/agents/development/implementer/guidance/role.md +21 -43
  501. package/daemon/specs/agents/development/qa/agent.yaml +2 -11
  502. package/daemon/specs/agents/development/qa/guidance/role.md +21 -73
  503. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -9
  504. package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +25 -72
  505. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -9
  506. package/daemon/specs/agents/review/independent-reviewer/guidance/role.md +20 -35
  507. package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +21 -6
  508. package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +48 -61
  509. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +4 -2
  510. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +81 -0
  511. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs +1419 -0
  512. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +40 -139
  513. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +40 -60
  514. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +34 -31
  515. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +6 -8
  516. package/daemon/specs/rigs/launch/demo/CULTURE.md +21 -30
  517. package/daemon/specs/rigs/launch/implementation-pair/rig.yaml +3 -3
  518. package/daemon/specs/rigs/preview/product-team/CULTURE.md +26 -71
  519. package/dist/build-info.js +3 -3
  520. package/dist/commands/config-init-workspace.d.ts +4 -23
  521. package/dist/commands/config-init-workspace.d.ts.map +1 -1
  522. package/dist/commands/config-init-workspace.js +14 -576
  523. package/dist/commands/config-init-workspace.js.map +1 -1
  524. package/dist/commands/config.d.ts.map +1 -1
  525. package/dist/commands/config.js +7 -4
  526. package/dist/commands/config.js.map +1 -1
  527. package/dist/commands/context.d.ts.map +1 -1
  528. package/dist/commands/context.js +114 -8
  529. package/dist/commands/context.js.map +1 -1
  530. package/dist/commands/daemon.d.ts.map +1 -1
  531. package/dist/commands/daemon.js +16 -0
  532. package/dist/commands/daemon.js.map +1 -1
  533. package/dist/commands/gateway.d.ts +17 -0
  534. package/dist/commands/gateway.d.ts.map +1 -1
  535. package/dist/commands/gateway.js +99 -13
  536. package/dist/commands/gateway.js.map +1 -1
  537. package/dist/commands/health.d.ts +12 -0
  538. package/dist/commands/health.d.ts.map +1 -0
  539. package/dist/commands/health.js +351 -0
  540. package/dist/commands/health.js.map +1 -0
  541. package/dist/commands/host.d.ts.map +1 -1
  542. package/dist/commands/host.js +2 -0
  543. package/dist/commands/host.js.map +1 -1
  544. package/dist/commands/launch.d.ts.map +1 -1
  545. package/dist/commands/launch.js +51 -4
  546. package/dist/commands/launch.js.map +1 -1
  547. package/dist/commands/queue.d.ts +18 -0
  548. package/dist/commands/queue.d.ts.map +1 -1
  549. package/dist/commands/queue.js +62 -0
  550. package/dist/commands/queue.js.map +1 -1
  551. package/dist/commands/restore.d.ts.map +1 -1
  552. package/dist/commands/restore.js +43 -3
  553. package/dist/commands/restore.js.map +1 -1
  554. package/dist/commands/scope.d.ts.map +1 -1
  555. package/dist/commands/scope.js +169 -79
  556. package/dist/commands/scope.js.map +1 -1
  557. package/dist/commands/seat.d.ts.map +1 -1
  558. package/dist/commands/seat.js +30 -0
  559. package/dist/commands/seat.js.map +1 -1
  560. package/dist/commands/send.d.ts.map +1 -1
  561. package/dist/commands/send.js +4 -1
  562. package/dist/commands/send.js.map +1 -1
  563. package/dist/commands/skill.d.ts.map +1 -1
  564. package/dist/commands/skill.js +61 -0
  565. package/dist/commands/skill.js.map +1 -1
  566. package/dist/commands/slack.d.ts.map +1 -1
  567. package/dist/commands/slack.js +39 -11
  568. package/dist/commands/slack.js.map +1 -1
  569. package/dist/commands/snapshot.d.ts.map +1 -1
  570. package/dist/commands/snapshot.js +4 -2
  571. package/dist/commands/snapshot.js.map +1 -1
  572. package/dist/commands/start.d.ts.map +1 -1
  573. package/dist/commands/start.js +3 -0
  574. package/dist/commands/start.js.map +1 -1
  575. package/dist/commands/up.d.ts.map +1 -1
  576. package/dist/commands/up.js +3 -0
  577. package/dist/commands/up.js.map +1 -1
  578. package/dist/commands/walk.d.ts.map +1 -1
  579. package/dist/commands/walk.js +3 -0
  580. package/dist/commands/walk.js.map +1 -1
  581. package/dist/commands/workflow-render.d.ts +31 -0
  582. package/dist/commands/workflow-render.d.ts.map +1 -1
  583. package/dist/commands/workflow-render.js +84 -6
  584. package/dist/commands/workflow-render.js.map +1 -1
  585. package/dist/commands/workflow.d.ts.map +1 -1
  586. package/dist/commands/workflow.js +98 -8
  587. package/dist/commands/workflow.js.map +1 -1
  588. package/dist/config-store.d.ts +17 -4
  589. package/dist/config-store.d.ts.map +1 -1
  590. package/dist/config-store.js +139 -44
  591. package/dist/config-store.js.map +1 -1
  592. package/dist/daemon-lifecycle.d.ts +13 -16
  593. package/dist/daemon-lifecycle.d.ts.map +1 -1
  594. package/dist/daemon-lifecycle.js +28 -33
  595. package/dist/daemon-lifecycle.js.map +1 -1
  596. package/dist/index.d.ts +4 -0
  597. package/dist/index.d.ts.map +1 -1
  598. package/dist/index.js +3 -1
  599. package/dist/index.js.map +1 -1
  600. package/dist/lib/scope/mission-composition.d.ts +16 -0
  601. package/dist/lib/scope/mission-composition.d.ts.map +1 -0
  602. package/dist/lib/scope/mission-composition.js +110 -0
  603. package/dist/lib/scope/mission-composition.js.map +1 -0
  604. package/dist/lib/scope/scope-fs.d.ts +5 -0
  605. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  606. package/dist/lib/scope/scope-fs.js +36 -6
  607. package/dist/lib/scope/scope-fs.js.map +1 -1
  608. package/dist/lib/work-install.d.ts +17 -0
  609. package/dist/lib/work-install.d.ts.map +1 -1
  610. package/dist/lib/work-install.js +49 -6
  611. package/dist/lib/work-install.js.map +1 -1
  612. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  613. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +4 -2
  614. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  615. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  616. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
  617. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
  618. package/node_modules/@openrig/daemon/dist/db/all-migrations.js +3 -1
  619. package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
  620. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +8 -5
  621. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -1
  622. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js +8 -5
  623. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -1
  624. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts +8 -0
  625. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts.map +1 -0
  626. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js +50 -0
  627. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js.map +1 -0
  628. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +6 -1
  629. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  630. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +47 -0
  631. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -1
  632. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  633. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js +8 -1
  634. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  635. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts +3 -3
  636. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  637. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts +3 -0
  638. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -1
  639. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js +5 -1
  640. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js.map +1 -1
  641. package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts +2 -0
  642. package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts.map +1 -1
  643. package/node_modules/@openrig/daemon/dist/domain/claim-service.js +33 -12
  644. package/node_modules/@openrig/daemon/dist/domain/claim-service.js.map +1 -1
  645. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  646. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js +9 -1
  647. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  648. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +25 -0
  649. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  650. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +3 -1
  651. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  652. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  653. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +143 -3
  654. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  655. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +22 -1
  656. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
  657. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +105 -40
  658. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
  659. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts +4 -0
  660. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  661. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js +8 -4
  662. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js.map +1 -1
  663. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts +13 -0
  664. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
  665. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +3 -1
  666. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
  667. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
  668. package/node_modules/@openrig/daemon/dist/domain/execution-view.js +145 -16
  669. package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
  670. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts +39 -0
  671. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -0
  672. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.js +35 -0
  673. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.js.map +1 -0
  674. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts +3 -0
  675. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  676. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +3 -0
  677. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  678. package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.d.ts +37 -0
  679. package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.d.ts.map +1 -0
  680. package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.js +44 -0
  681. package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.js.map +1 -0
  682. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +2 -7
  683. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  684. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +2 -7
  685. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  686. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +16 -1
  687. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  688. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +35 -12
  689. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  690. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +1 -0
  691. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  692. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +1 -0
  693. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
  694. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +18 -0
  695. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  696. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +62 -8
  697. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  698. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +13 -0
  699. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
  700. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js +59 -1
  701. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
  702. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts +21 -0
  703. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
  704. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js +28 -1
  705. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
  706. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts +2 -0
  707. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
  708. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js +6 -1
  709. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
  710. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +4 -0
  711. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
  712. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js +11 -0
  713. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
  714. package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.d.ts +57 -0
  715. package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.d.ts.map +1 -0
  716. package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.js +198 -0
  717. package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.js.map +1 -0
  718. package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts +14 -0
  719. package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts.map +1 -0
  720. package/node_modules/@openrig/daemon/dist/domain/health-context.js +93 -0
  721. package/node_modules/@openrig/daemon/dist/domain/health-context.js.map +1 -0
  722. package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts +106 -0
  723. package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts.map +1 -0
  724. package/node_modules/@openrig/daemon/dist/domain/health-detectors.js +392 -0
  725. package/node_modules/@openrig/daemon/dist/domain/health-detectors.js.map +1 -0
  726. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts +143 -0
  727. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts.map +1 -0
  728. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js +249 -0
  729. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js.map +1 -0
  730. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts +19 -0
  731. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -0
  732. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js +234 -0
  733. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js.map +1 -0
  734. package/node_modules/@openrig/daemon/dist/domain/health-policy.d.ts +45 -0
  735. package/node_modules/@openrig/daemon/dist/domain/health-policy.d.ts.map +1 -0
  736. package/node_modules/@openrig/daemon/dist/domain/health-policy.js +89 -0
  737. package/node_modules/@openrig/daemon/dist/domain/health-policy.js.map +1 -0
  738. package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts +237 -0
  739. package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts.map +1 -0
  740. package/node_modules/@openrig/daemon/dist/domain/health-projection.js +312 -0
  741. package/node_modules/@openrig/daemon/dist/domain/health-projection.js.map +1 -0
  742. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts +25 -0
  743. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts.map +1 -0
  744. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js +81 -0
  745. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js.map +1 -0
  746. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts +19 -0
  747. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts.map +1 -0
  748. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js +73 -0
  749. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js.map +1 -0
  750. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +1 -1
  751. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.js +14 -11
  752. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
  753. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +36 -36
  754. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  755. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +104 -135
  756. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  757. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts +10 -0
  758. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts.map +1 -0
  759. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js +86 -0
  760. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js.map +1 -0
  761. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js +12 -1
  762. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js.map +1 -1
  763. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts +2 -0
  764. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  765. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +4 -1
  766. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
  767. package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts +3 -0
  768. package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  769. package/node_modules/@openrig/daemon/dist/domain/node-launcher.js +21 -8
  770. package/node_modules/@openrig/daemon/dist/domain/node-launcher.js.map +1 -1
  771. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts +22 -0
  772. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -0
  773. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js +54 -0
  774. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js.map +1 -0
  775. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +1 -1
  776. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  777. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  778. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js +16 -2
  779. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  780. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts +12 -0
  781. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  782. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js +60 -0
  783. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js.map +1 -1
  784. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts +35 -0
  785. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -0
  786. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js +219 -0
  787. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -0
  788. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts +1 -1
  789. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -1
  790. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js +28 -18
  791. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -1
  792. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +19 -1
  793. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  794. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +66 -5
  795. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
  796. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts +3 -4
  797. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  798. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +5 -8
  799. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +1 -1
  800. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +33 -0
  801. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  802. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +152 -0
  803. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
  804. package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts +21 -0
  805. package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -0
  806. package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js +96 -0
  807. package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js.map +1 -0
  808. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +1 -0
  809. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
  810. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +8 -3
  811. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
  812. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts +34 -0
  813. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts.map +1 -0
  814. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js +59 -0
  815. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js.map +1 -0
  816. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +57 -24
  817. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  818. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +152 -26
  819. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  820. package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts +14 -0
  821. package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts.map +1 -0
  822. package/node_modules/@openrig/daemon/dist/domain/restore-topology.js +27 -0
  823. package/node_modules/@openrig/daemon/dist/domain/restore-topology.js.map +1 -0
  824. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  825. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js +9 -0
  826. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  827. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +19 -0
  828. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  829. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +65 -1
  830. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  831. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts +8 -0
  832. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  833. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js +4 -0
  834. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  835. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts +23 -1
  836. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  837. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js +97 -46
  838. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  839. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  840. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js +15 -6
  841. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  842. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts +47 -1
  843. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  844. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js +525 -29
  845. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  846. package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts +8 -1
  847. package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts.map +1 -1
  848. package/node_modules/@openrig/daemon/dist/domain/session-registry.js +19 -0
  849. package/node_modules/@openrig/daemon/dist/domain/session-registry.js.map +1 -1
  850. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts +81 -0
  851. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts.map +1 -0
  852. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js +827 -0
  853. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js.map +1 -0
  854. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts +3 -0
  855. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  856. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js +1 -1
  857. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js.map +1 -1
  858. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts +4 -1
  859. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
  860. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +38 -2
  861. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
  862. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts +15 -1
  863. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  864. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js +103 -1
  865. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js.map +1 -1
  866. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts +2 -0
  867. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  868. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js +12 -0
  869. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  870. package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts +45 -0
  871. package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts.map +1 -0
  872. package/node_modules/@openrig/daemon/dist/domain/system-world.js +123 -0
  873. package/node_modules/@openrig/daemon/dist/domain/system-world.js.map +1 -0
  874. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts +7 -0
  875. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts.map +1 -0
  876. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js +20 -0
  877. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js.map +1 -0
  878. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +106 -4
  879. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  880. package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
  881. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +16 -3
  882. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  883. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +137 -41
  884. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  885. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -0
  886. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  887. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js +5 -0
  888. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  889. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -23
  890. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  891. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +44 -226
  892. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  893. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  894. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js +20 -6
  895. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  896. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts +33 -1
  897. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  898. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js +127 -2
  899. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  900. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts +7 -5
  901. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -1
  902. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js +27 -16
  903. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -1
  904. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts +30 -2
  905. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  906. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js +375 -14
  907. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js.map +1 -1
  908. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts +62 -2
  909. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  910. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js +391 -28
  911. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +1 -1
  912. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts +10 -2
  913. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  914. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js +101 -0
  915. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  916. package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts +46 -1
  917. package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  918. package/node_modules/@openrig/daemon/dist/domain/workflow-types.js.map +1 -1
  919. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  920. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js +38 -3
  921. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js.map +1 -1
  922. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +38 -9
  923. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  924. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js +93 -347
  925. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  926. package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.d.ts +1 -0
  927. package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.d.ts.map +1 -1
  928. package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.js +1 -0
  929. package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.js.map +1 -1
  930. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts +1 -0
  931. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
  932. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js +1 -0
  933. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js.map +1 -1
  934. package/node_modules/@openrig/daemon/dist/health-detectors-surface.d.ts +2 -0
  935. package/node_modules/@openrig/daemon/dist/health-detectors-surface.d.ts.map +1 -0
  936. package/node_modules/@openrig/daemon/dist/health-detectors-surface.js +2 -0
  937. package/node_modules/@openrig/daemon/dist/health-detectors-surface.js.map +1 -0
  938. package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts +2 -0
  939. package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts.map +1 -0
  940. package/node_modules/@openrig/daemon/dist/health-projection-surface.js +2 -0
  941. package/node_modules/@openrig/daemon/dist/health-projection-surface.js.map +1 -0
  942. package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
  943. package/node_modules/@openrig/daemon/dist/index.js +15 -0
  944. package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
  945. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts +3 -0
  946. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts.map +1 -0
  947. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js +3 -0
  948. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js.map +1 -0
  949. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
  950. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js +4 -1
  951. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js.map +1 -1
  952. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts +3 -0
  953. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts.map +1 -0
  954. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js +3 -0
  955. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js.map +1 -0
  956. package/node_modules/@openrig/daemon/dist/routes/bundles.js +10 -9
  957. package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
  958. package/node_modules/@openrig/daemon/dist/routes/config.d.ts.map +1 -1
  959. package/node_modules/@openrig/daemon/dist/routes/config.js +27 -49
  960. package/node_modules/@openrig/daemon/dist/routes/config.js.map +1 -1
  961. package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
  962. package/node_modules/@openrig/daemon/dist/routes/context-packs.js +114 -16
  963. package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
  964. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js +3 -0
  965. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js.map +1 -1
  966. package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts +5 -1
  967. package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts.map +1 -1
  968. package/node_modules/@openrig/daemon/dist/routes/gateway.js +70 -22
  969. package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +1 -1
  970. package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.d.ts +3 -0
  971. package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.d.ts.map +1 -0
  972. package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.js +47 -0
  973. package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.js.map +1 -0
  974. package/node_modules/@openrig/daemon/dist/routes/health.d.ts +3 -0
  975. package/node_modules/@openrig/daemon/dist/routes/health.d.ts.map +1 -0
  976. package/node_modules/@openrig/daemon/dist/routes/health.js +50 -0
  977. package/node_modules/@openrig/daemon/dist/routes/health.js.map +1 -0
  978. package/node_modules/@openrig/daemon/dist/routes/hosts.d.ts +2 -0
  979. package/node_modules/@openrig/daemon/dist/routes/hosts.d.ts.map +1 -1
  980. package/node_modules/@openrig/daemon/dist/routes/hosts.js +12 -5
  981. package/node_modules/@openrig/daemon/dist/routes/hosts.js.map +1 -1
  982. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
  983. package/node_modules/@openrig/daemon/dist/routes/queue.js +20 -0
  984. package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
  985. package/node_modules/@openrig/daemon/dist/routes/rigs.js +12 -1
  986. package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
  987. package/node_modules/@openrig/daemon/dist/routes/rigspec.js +9 -2
  988. package/node_modules/@openrig/daemon/dist/routes/rigspec.js.map +1 -1
  989. package/node_modules/@openrig/daemon/dist/routes/seat.js +21 -1
  990. package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
  991. package/node_modules/@openrig/daemon/dist/routes/sessions.js +16 -6
  992. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
  993. package/node_modules/@openrig/daemon/dist/routes/snapshots.d.ts.map +1 -1
  994. package/node_modules/@openrig/daemon/dist/routes/snapshots.js +41 -3
  995. package/node_modules/@openrig/daemon/dist/routes/snapshots.js.map +1 -1
  996. package/node_modules/@openrig/daemon/dist/routes/up.js +12 -1
  997. package/node_modules/@openrig/daemon/dist/routes/up.js.map +1 -1
  998. package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts.map +1 -1
  999. package/node_modules/@openrig/daemon/dist/routes/watchdog.js +7 -6
  1000. package/node_modules/@openrig/daemon/dist/routes/watchdog.js.map +1 -1
  1001. package/node_modules/@openrig/daemon/dist/routes/workflow.d.ts.map +1 -1
  1002. package/node_modules/@openrig/daemon/dist/routes/workflow.js +104 -39
  1003. package/node_modules/@openrig/daemon/dist/routes/workflow.js.map +1 -1
  1004. package/node_modules/@openrig/daemon/dist/server.d.ts +10 -0
  1005. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  1006. package/node_modules/@openrig/daemon/dist/server.js +9 -0
  1007. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  1008. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts +3 -0
  1009. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts.map +1 -0
  1010. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js +2 -0
  1011. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js.map +1 -0
  1012. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  1013. package/node_modules/@openrig/daemon/dist/startup.js +101 -66
  1014. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  1015. package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts +2 -0
  1016. package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts.map +1 -0
  1017. package/node_modules/@openrig/daemon/dist/system-world-surface.js +2 -0
  1018. package/node_modules/@openrig/daemon/dist/system-world-surface.js.map +1 -0
  1019. package/node_modules/@openrig/daemon/package.json +25 -1
  1020. package/package.json +1 -1
  1021. package/tui/dist/commands/registry.d.ts.map +1 -1
  1022. package/tui/dist/commands/registry.js +10 -1
  1023. package/tui/dist/commands/registry.js.map +1 -1
  1024. package/tui/dist/daemon-client.d.ts +13 -0
  1025. package/tui/dist/daemon-client.d.ts.map +1 -1
  1026. package/tui/dist/daemon-client.js +19 -0
  1027. package/tui/dist/daemon-client.js.map +1 -1
  1028. package/tui/dist/demo-data.d.ts.map +1 -1
  1029. package/tui/dist/demo-data.js +65 -9
  1030. package/tui/dist/demo-data.js.map +1 -1
  1031. package/tui/dist/detail.d.ts +9 -0
  1032. package/tui/dist/detail.d.ts.map +1 -1
  1033. package/tui/dist/detail.js.map +1 -1
  1034. package/tui/dist/execution/execution-model.d.ts +8 -2
  1035. package/tui/dist/execution/execution-model.d.ts.map +1 -1
  1036. package/tui/dist/execution/execution-model.js +482 -119
  1037. package/tui/dist/execution/execution-model.js.map +1 -1
  1038. package/tui/dist/health/health-model.d.ts +25 -0
  1039. package/tui/dist/health/health-model.d.ts.map +1 -0
  1040. package/tui/dist/health/health-model.js +322 -0
  1041. package/tui/dist/health/health-model.js.map +1 -0
  1042. package/tui/dist/hydrate.d.ts +3 -2
  1043. package/tui/dist/hydrate.d.ts.map +1 -1
  1044. package/tui/dist/hydrate.js +77 -8
  1045. package/tui/dist/hydrate.js.map +1 -1
  1046. package/tui/dist/input.d.ts +6 -1
  1047. package/tui/dist/input.d.ts.map +1 -1
  1048. package/tui/dist/input.js +22 -10
  1049. package/tui/dist/input.js.map +1 -1
  1050. package/tui/dist/main.js +39 -8
  1051. package/tui/dist/main.js.map +1 -1
  1052. package/tui/dist/navigator.d.ts.map +1 -1
  1053. package/tui/dist/navigator.js +10 -6
  1054. package/tui/dist/navigator.js.map +1 -1
  1055. package/tui/dist/render.d.ts.map +1 -1
  1056. package/tui/dist/render.js +617 -155
  1057. package/tui/dist/render.js.map +1 -1
  1058. package/tui/dist/scopes/scopes-model.d.ts +14 -8
  1059. package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
  1060. package/tui/dist/scopes/scopes-model.js +218 -46
  1061. package/tui/dist/scopes/scopes-model.js.map +1 -1
  1062. package/tui/dist/socket-server.d.ts +13 -0
  1063. package/tui/dist/socket-server.d.ts.map +1 -1
  1064. package/tui/dist/socket-server.js +24 -0
  1065. package/tui/dist/socket-server.js.map +1 -1
  1066. package/tui/dist/state.d.ts.map +1 -1
  1067. package/tui/dist/state.js +31 -11
  1068. package/tui/dist/state.js.map +1 -1
  1069. package/tui/dist/stylize.d.ts.map +1 -1
  1070. package/tui/dist/stylize.js +22 -28
  1071. package/tui/dist/stylize.js.map +1 -1
  1072. package/tui/dist/theme.d.ts +1 -1
  1073. package/tui/dist/theme.d.ts.map +1 -1
  1074. package/tui/dist/theme.js +5 -4
  1075. package/tui/dist/theme.js.map +1 -1
  1076. package/tui/dist/types.d.ts +186 -1
  1077. package/tui/dist/types.d.ts.map +1 -1
  1078. package/tui/dist/visual-layout.d.ts +6 -0
  1079. package/tui/dist/visual-layout.d.ts.map +1 -0
  1080. package/tui/dist/visual-layout.js +8 -0
  1081. package/tui/dist/visual-layout.js.map +1 -0
  1082. package/ui/dist/assets/{index-B_wqzP0D.js → index-wyX378xb.js} +15 -15
  1083. package/ui/dist/index.html +1 -1
@@ -11,7 +11,7 @@ import type { ClaudeResumeAdapter } from "../adapters/claude-resume.js";
11
11
  import type { CodexResumeAdapter } from "../adapters/codex-resume.js";
12
12
  import type { PiResumeAdapter } from "../adapters/pi-resume.js";
13
13
  import type { TranscriptStore } from "./transcript-store.js";
14
- import type { RestoreOutcome, RestoreRigResult, RestoreNodeResult } from "./types.js";
14
+ import type { RestoreOutcome, RestoreRigResult, RestoreNodeResult, RestoreSnapshotSelection } from "./types.js";
15
15
  export type ReconcileNodeResult = {
16
16
  ok: true;
17
17
  attemptId: number;
@@ -25,7 +25,7 @@ export type ReconcileNodeResult = {
25
25
  };
26
26
  } | {
27
27
  ok: false;
28
- code: "node_not_found" | "no_attempt" | "outcome_not_upgradable" | "tmux_session_missing" | "fg_process_not_runtime" | "resume_token_not_used" | "pane_not_usable";
28
+ code: "node_not_found" | "no_attempt" | "outcome_not_upgradable" | "tmux_session_missing" | "binding_mismatch" | "process_lineage_mismatch" | "fg_process_not_runtime" | "resume_token_not_used" | "pane_not_usable";
29
29
  detail: string;
30
30
  };
31
31
  export { resolveActiveSnapshotSession } from "./active-occupant.js";
@@ -38,6 +38,44 @@ export declare const NON_RUNNING_LAUNCH_STATUSES: ReadonlySet<string>;
38
38
  /** True when a restore/launch status means a session is actually running (a real
39
39
  * successful launch): resumed / rebuilt / fresh / fresh-primed / operator_recovered. */
40
40
  export declare function launchStatusIsRunning(status: string): boolean;
41
+ export interface NarrowLaunchResult {
42
+ ok: boolean;
43
+ planOnly?: boolean;
44
+ code?: string;
45
+ message?: string;
46
+ launched?: RestoreNodeResult[];
47
+ held?: Array<{
48
+ nodeId: string;
49
+ logicalId: string;
50
+ reason: string;
51
+ }>;
52
+ alreadyRunning?: Array<{
53
+ nodeId: string;
54
+ logicalId: string;
55
+ }>;
56
+ failedTargets?: Array<{
57
+ nodeId: string;
58
+ logicalId: string;
59
+ reason: string;
60
+ }>;
61
+ targetNodes?: Array<{
62
+ nodeId: string;
63
+ logicalId: string;
64
+ }>;
65
+ unmatchedIds?: string[];
66
+ warnings?: string[];
67
+ snapshotSelection?: RestoreSnapshotSelection;
68
+ nonTargetEffects?: {
69
+ mode: "unchanged" | "detach_and_hold";
70
+ reason: string | null;
71
+ affected: Array<{
72
+ nodeId: string;
73
+ logicalId: string;
74
+ reason: string;
75
+ }>;
76
+ condition?: string;
77
+ };
78
+ }
41
79
  interface RestoreOrchestratorDeps {
42
80
  db: Database.Database;
43
81
  rigRepo: RigRepository;
@@ -92,6 +130,9 @@ export declare class RestoreOrchestrator {
92
130
  * resume-policy seats STOP as `awaiting-decision` instead.
93
131
  */
94
132
  freshLogicalIds?: string[];
133
+ /** Selection evidence from an automatic caller. Direct restore defaults
134
+ * to explicit because its public door names the snapshot id. */
135
+ snapshotSelection?: RestoreSnapshotSelection;
95
136
  /**
96
137
  * L3: fired with the persisted `restore.started` event seq as soon as the
97
138
  * orchestrator commits to running per-node restore. Routes use this to
@@ -106,28 +147,20 @@ export declare class RestoreOrchestrator {
106
147
  exists(path: string): boolean;
107
148
  };
108
149
  holdReason?: string;
109
- }): Promise<{
110
- ok: boolean;
111
- code?: string;
112
- message?: string;
113
- launched?: RestoreNodeResult[];
114
- held?: Array<{
115
- nodeId: string;
116
- logicalId: string;
117
- reason: string;
118
- }>;
119
- alreadyRunning?: Array<{
120
- nodeId: string;
121
- logicalId: string;
122
- }>;
123
- failedTargets?: Array<{
124
- nodeId: string;
125
- logicalId: string;
126
- reason: string;
127
- }>;
128
- unmatchedIds?: string[];
129
- warnings?: string[];
130
- }>;
150
+ snapshotId?: string;
151
+ }): Promise<NarrowLaunchResult>;
152
+ planNodeSubset(rigId: string, logicalIds: string[], opts?: {
153
+ holdReason?: string;
154
+ snapshotId?: string;
155
+ }): NarrowLaunchResult;
156
+ launchSingleNode(rigId: string, logicalId: string, opts?: {
157
+ adapters?: Record<string, import("./runtime-adapter.js").RuntimeAdapter>;
158
+ fsOps?: {
159
+ exists(path: string): boolean;
160
+ };
161
+ snapshotId?: string;
162
+ }): Promise<NarrowLaunchResult>;
163
+ private launchNodeTargets;
131
164
  private validatePreRestore;
132
165
  private pathLike;
133
166
  private captureNodeState;
@@ -1 +1 @@
1
- {"version":3,"file":"restore-orchestrator.d.ts","sourceRoot":"","sources":["../../src/domain/restore-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restore-orchestrator.d.ts","sourceRoot":"","sources":["../../src/domain/restore-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { resolvePermissionPolicyAttachment } from "./permission-policy/policy-re
4
4
  import { assessNativeResumeProbe } from "./native-resume-probe.js";
5
5
  import { AppliedLaunchObservationStore } from "./applied-launch-observation-store.js";
6
6
  import { rebindAndVerifyPaneIdentity } from "./seat-attention-reconciler.js";
7
+ import { resolveSnapshotRestoreTopology } from "./restore-topology.js";
7
8
  // Only these edge kinds constrain launch order
8
9
  const LAUNCH_DEPENDENCY_KINDS = new Set(["delegates_to", "spawned_by"]);
9
10
  // OPR.0.5.7.1 consumer alignment: the four-way active-occupant ladder lives
@@ -105,6 +106,10 @@ export class RestoreOrchestrator {
105
106
  if (!rig) {
106
107
  return { ok: false, code: "rig_not_found", message: `Rig ${rigId} not found` };
107
108
  }
109
+ const selectionOutcome = opts?.snapshotSelection ? null : this.snapshotRepo.selectRestoreUsable(rigId, snapshotId);
110
+ if (selectionOutcome && !selectionOutcome.ok)
111
+ return selectionOutcome;
112
+ const snapshotSelection = opts?.snapshotSelection ?? selectionOutcome?.selection;
108
113
  // Classify DB-running sessions against tmux reality WITHOUT mutating DB.
109
114
  // This determines whether the rig is safe to restore before any state
110
115
  // changes occur — critical for pre_restore snapshot ordering (snapshot
@@ -124,6 +129,7 @@ export class RestoreOrchestrator {
124
129
  servicesRecord: this.rigRepo.getServicesRecord(rigId),
125
130
  freshLogicalIds: opts?.freshLogicalIds,
126
131
  });
132
+ const topology = resolveSnapshotRestoreTopology(snapshot.data);
127
133
  if (validation.blockers.length > 0) {
128
134
  const result = {
129
135
  snapshotId,
@@ -132,6 +138,9 @@ export class RestoreOrchestrator {
132
138
  nodes: [],
133
139
  warnings: validation.warnings,
134
140
  blockers: validation.blockers,
141
+ snapshotSelection,
142
+ intendedRoster: topology.intendedRoster,
143
+ excludedNodes: topology.excludedNodes,
135
144
  };
136
145
  return {
137
146
  ok: false,
@@ -150,7 +159,14 @@ export class RestoreOrchestrator {
150
159
  }
151
160
  // 3. Emit restore.started — the persisted event seq IS the attempt id
152
161
  // (Decision 1: no separate restore_attempts table).
153
- const restoreStartedEvent = this.eventBus.emit({ type: "restore.started", rigId, snapshotId });
162
+ const restoreStartedEvent = this.eventBus.emit({
163
+ type: "restore.started",
164
+ rigId,
165
+ snapshotId,
166
+ snapshotSelection,
167
+ intendedRoster: topology.intendedRoster,
168
+ excludedNodes: topology.excludedNodes,
169
+ });
154
170
  const attemptId = restoreStartedEvent.seq;
155
171
  try {
156
172
  opts?.onAttemptStarted?.(attemptId);
@@ -165,7 +181,21 @@ export class RestoreOrchestrator {
165
181
  if (svcRecord) {
166
182
  const bootResult = await this.serviceOrchestrator.boot(rigId);
167
183
  if (!bootResult.ok) {
168
- this.eventBus.emit({ type: "restore.completed", rigId, snapshotId, result: { snapshotId, preRestoreSnapshotId: preRestoreSnapshot.id, rigResult: "failed", nodes: [], warnings: [`Service boot failed: ${bootResult.error}`] } });
184
+ this.eventBus.emit({
185
+ type: "restore.completed",
186
+ rigId,
187
+ snapshotId,
188
+ result: {
189
+ snapshotId,
190
+ preRestoreSnapshotId: preRestoreSnapshot.id,
191
+ rigResult: "failed",
192
+ nodes: [],
193
+ warnings: [`Service boot failed: ${bootResult.error}`],
194
+ snapshotSelection,
195
+ intendedRoster: topology.intendedRoster,
196
+ excludedNodes: topology.excludedNodes,
197
+ },
198
+ });
169
199
  return { ok: false, code: "service_boot_failed", message: `Service boot failed before agent restore: ${bootResult.error}` };
170
200
  }
171
201
  }
@@ -185,6 +215,9 @@ export class RestoreOrchestrator {
185
215
  rigResult: rollupRestoreRigResult(nodeResults),
186
216
  nodes: nodeResults,
187
217
  warnings: restoreWarnings,
218
+ snapshotSelection,
219
+ intendedRoster: topology.intendedRoster,
220
+ excludedNodes: topology.excludedNodes,
188
221
  };
189
222
  // 7. Emit restore.completed
190
223
  this.eventBus.emit({ type: "restore.completed", rigId, snapshotId, result: restoreResult });
@@ -202,19 +235,60 @@ export class RestoreOrchestrator {
202
235
  }
203
236
  }
204
237
  async launchNodeSubset(rigId, logicalIds, opts) {
238
+ return this.launchNodeTargets(rigId, logicalIds, { ...opts, nonTargetMode: "detach_and_hold" });
239
+ }
240
+ planNodeSubset(rigId, logicalIds, opts) {
241
+ const rig = this.rigRepo.getRig(rigId);
242
+ if (!rig)
243
+ return { ok: false, code: "rig_not_found", message: `Rig ${rigId} not found` };
244
+ const selected = this.snapshotRepo.selectRestoreUsable(rigId, opts?.snapshotId);
245
+ if (!selected.ok)
246
+ return selected;
247
+ const intendedNodes = resolveSnapshotRestoreTopology(selected.snapshot.data).intendedNodes;
248
+ const targetIds = new Set(intendedNodes.filter((node) => logicalIds.includes(node.logicalId)).map((node) => node.logicalId));
249
+ if (targetIds.size === 0) {
250
+ return { ok: false, code: "no_matching_nodes", message: `No nodes match logical ids: ${logicalIds.join(", ")}` };
251
+ }
252
+ const reason = opts?.holdReason ?? "excluded_from_subset";
253
+ return {
254
+ ok: true,
255
+ planOnly: true,
256
+ snapshotSelection: selected.selection,
257
+ targetNodes: intendedNodes
258
+ .filter((node) => targetIds.has(node.logicalId))
259
+ .map((node) => ({ nodeId: node.id, logicalId: node.logicalId })),
260
+ unmatchedIds: logicalIds.filter((logicalId) => !targetIds.has(logicalId)),
261
+ nonTargetEffects: {
262
+ mode: "detach_and_hold",
263
+ reason,
264
+ affected: rig.nodes
265
+ .filter((node) => !targetIds.has(node.logicalId))
266
+ .map((node) => ({ nodeId: node.id, logicalId: node.logicalId, reason })),
267
+ condition: "applies only to non-target seats proven not live at execution time",
268
+ },
269
+ };
270
+ }
271
+ async launchSingleNode(rigId, logicalId, opts) {
272
+ return this.launchNodeTargets(rigId, [logicalId], { ...opts, nonTargetMode: "unchanged" });
273
+ }
274
+ async launchNodeTargets(rigId, logicalIds, opts) {
205
275
  const rig = this.rigRepo.getRig(rigId);
206
276
  if (!rig)
207
277
  return { ok: false, code: "rig_not_found", message: `Rig ${rigId} not found` };
208
- const snapshot = this.snapshotRepo.findLatestRestoreUsable(rigId);
209
- if (!snapshot)
210
- return { ok: false, code: "no_usable_snapshot", message: `No usable snapshot for rig ${rigId}` };
278
+ const selected = this.snapshotRepo.selectRestoreUsable(rigId, opts.snapshotId);
279
+ if (!selected.ok)
280
+ return selected;
281
+ const { snapshot, selection: snapshotSelection } = selected;
211
282
  const allNodes = rig.nodes;
212
- const targetNodes = allNodes.filter((n) => logicalIds.includes(n.logicalId));
283
+ const targetNodes = resolveSnapshotRestoreTopology(snapshot.data).intendedNodes
284
+ .filter((node) => logicalIds.includes(node.logicalId));
213
285
  const matchedIds = new Set(targetNodes.map((n) => n.logicalId));
214
286
  const unmatchedIds = logicalIds.filter((id) => !matchedIds.has(id));
215
287
  if (targetNodes.length === 0)
216
288
  return { ok: false, code: "no_matching_nodes", message: `No nodes match logical ids: ${logicalIds.join(", ")}` };
217
- const nonTargetNodes = allNodes.filter((n) => !logicalIds.includes(n.logicalId));
289
+ const nonTargetNodes = opts.nonTargetMode === "detach_and_hold"
290
+ ? allNodes.filter((node) => !targetNodes.some((target) => target.id === node.id))
291
+ : [];
218
292
  // Per-target tmux-liveness classification (runtime truth, fail-closed)
219
293
  const launched = [];
220
294
  const alreadyRunning = [];
@@ -269,6 +343,7 @@ export class RestoreOrchestrator {
269
343
  rigResult: rollupRestoreRigResult(launched),
270
344
  nodes: launched,
271
345
  warnings: subsetWarnings,
346
+ snapshotSelection,
272
347
  };
273
348
  this.eventBus.emit({ type: "restore.subset_completed", rigId, snapshotId: snapshot.id, result: subsetResult });
274
349
  }
@@ -307,7 +382,21 @@ export class RestoreOrchestrator {
307
382
  });
308
383
  held.push({ nodeId: node.id, logicalId: node.logicalId, reason: holdReasonText });
309
384
  }
310
- return { ok: true, launched, held, alreadyRunning, failedTargets, unmatchedIds: unmatchedIds.length > 0 ? unmatchedIds : undefined, warnings: subsetWarnings.length > 0 ? subsetWarnings : undefined };
385
+ return {
386
+ ok: true,
387
+ launched,
388
+ held,
389
+ alreadyRunning,
390
+ failedTargets,
391
+ unmatchedIds: unmatchedIds.length > 0 ? unmatchedIds : undefined,
392
+ warnings: subsetWarnings.length > 0 ? subsetWarnings : undefined,
393
+ snapshotSelection,
394
+ nonTargetEffects: {
395
+ mode: opts.nonTargetMode,
396
+ reason: opts.nonTargetMode === "detach_and_hold" ? holdReasonText : null,
397
+ affected: held,
398
+ },
399
+ };
311
400
  }
312
401
  validatePreRestore(data, opts) {
313
402
  const blockers = [];
@@ -366,7 +455,18 @@ export class RestoreOrchestrator {
366
455
  if (!nodes || !checkpoints) {
367
456
  return { blockers, warnings };
368
457
  }
369
- for (const node of nodes) {
458
+ const topology = resolveSnapshotRestoreTopology(data);
459
+ for (const invalidNodeId of topology.invalidRosterIds) {
460
+ add({
461
+ code: "invalid_topology_roster",
462
+ severity: "critical",
463
+ nodeId: invalidNodeId,
464
+ target: "snapshot.topologyRoster",
465
+ message: `Intended topology roster names node ${invalidNodeId}, which is absent from snapshot.nodes.`,
466
+ remediation: "Capture a new snapshot from the authoritative materialized topology.",
467
+ });
468
+ }
469
+ for (const node of topology.intendedNodes) {
370
470
  const checkpoint = checkpoints[node.id] ?? null;
371
471
  if (checkpoint && !node.cwd) {
372
472
  add({
@@ -565,7 +665,7 @@ export class RestoreOrchestrator {
565
665
  }
566
666
  }
567
667
  computeRestorePlan(data) {
568
- const nodes = data.nodes;
668
+ const nodes = resolveSnapshotRestoreTopology(data).intendedNodes;
569
669
  const edges = data.edges;
570
670
  // Build adjacency for launch-dependency edges only
571
671
  // For delegates_to: source must launch before target
@@ -1011,6 +1111,7 @@ export class RestoreOrchestrator {
1011
1111
  isRestore: replayAsRestore,
1012
1112
  skipHarnessLaunch: !shouldLaunchHarness,
1013
1113
  resumeToken: (isPodAware && resumeRequested) ? resumeToken ?? undefined : undefined,
1114
+ resumeType: (isPodAware && resumeRequested) ? resumeType ?? undefined : undefined,
1014
1115
  sessionName: sessionName,
1015
1116
  allowFreshFallback: !(isPodAware && resumeRequested),
1016
1117
  });
@@ -1119,6 +1220,7 @@ export class RestoreOrchestrator {
1119
1220
  sessionName,
1120
1221
  runtime: node.runtime ?? null,
1121
1222
  expectedResumeToken: resumeToken,
1223
+ requireExactResumeLineage: true,
1122
1224
  ...(this.listProcesses ? { listProcesses: this.listProcesses } : {}),
1123
1225
  });
1124
1226
  if (!identity.ok) {
@@ -1331,12 +1433,32 @@ export class RestoreOrchestrator {
1331
1433
  return { ok: false, code: "outcome_not_upgradable", detail: `Reconciliation only upgrades failed or attention_required; current outcome is ${nodeStatus}.` };
1332
1434
  }
1333
1435
  const fromStatus = nodeStatus;
1436
+ const priorReconciliation = this.db.prepare("SELECT payload FROM events WHERE rig_id = ? AND node_id = ? AND type = 'restore.outcome_reconciled' AND json_extract(payload, '$.attemptId') = ? ORDER BY seq DESC LIMIT 1").get(rigId, nodeId, attemptId);
1437
+ if (priorReconciliation) {
1438
+ try {
1439
+ const prior = JSON.parse(priorReconciliation.payload);
1440
+ if ("tmux" in prior.evidence) {
1441
+ return { ok: true, attemptId, from: prior.from, to: "operator_recovered", evidence: prior.evidence };
1442
+ }
1443
+ }
1444
+ catch {
1445
+ // A malformed prior row is not positive evidence; continue to the live proof.
1446
+ }
1447
+ }
1334
1448
  // Resolve canonical session name for this node so we can probe tmux/pane.
1335
1449
  const bindingRow = this.db.prepare("SELECT tmux_session FROM bindings WHERE node_id = ?").get(nodeId);
1336
1450
  const sessionName = bindingRow?.tmux_session ?? null;
1337
1451
  if (!sessionName) {
1338
1452
  return { ok: false, code: "tmux_session_missing", detail: "No tmux session bound for this node." };
1339
1453
  }
1454
+ const sessRow = this.db.prepare("SELECT session_name, resume_token FROM sessions WHERE node_id = ? ORDER BY created_at DESC, id DESC LIMIT 1").get(nodeId);
1455
+ if (!sessRow || sessRow.session_name !== sessionName) {
1456
+ return { ok: false, code: "binding_mismatch", detail: `Canonical binding ${sessionName} does not match the latest session row.` };
1457
+ }
1458
+ const expectedResumeToken = sessRow.resume_token;
1459
+ if (!expectedResumeToken) {
1460
+ return { ok: false, code: "resume_token_not_used", detail: "No resume token recorded on the latest session row." };
1461
+ }
1340
1462
  // Precondition #1: tmux session exists.
1341
1463
  let alive = false;
1342
1464
  try {
@@ -1350,26 +1472,30 @@ export class RestoreOrchestrator {
1350
1472
  if (!alive) {
1351
1473
  return { ok: false, code: "tmux_session_missing", detail: `Tmux session ${sessionName} is not currently alive.` };
1352
1474
  }
1353
- // Resolve runtime + capture pane state for preconditions #2 and #4.
1475
+ // Resolve runtime and prove exact native-token process lineage. Executable
1476
+ // basename alone is never sufficient for no-input recovery.
1354
1477
  const nodeRow = this.db.prepare("SELECT runtime FROM nodes WHERE id = ?").get(nodeId);
1355
1478
  const runtime = nodeRow?.runtime ?? null;
1356
- const paneCommand = await this.tmuxAdapter.getPaneCommand(sessionName);
1357
- const paneContent = (await this.tmuxAdapter.capturePaneContent(sessionName, 40)) ?? "";
1358
- // Precondition #2: foreground process is the runtime (claude or codex).
1479
+ const identity = await rebindAndVerifyPaneIdentity({
1480
+ db: this.db,
1481
+ sessionRegistry: this.sessionRegistry,
1482
+ tmux: this.tmuxAdapter,
1483
+ nodeId,
1484
+ sessionName,
1485
+ runtime,
1486
+ expectedResumeToken,
1487
+ requireExactResumeLineage: true,
1488
+ ...(this.listProcesses ? { listProcesses: this.listProcesses } : {}),
1489
+ });
1490
+ if (!identity.ok) {
1491
+ return { ok: false, code: "process_lineage_mismatch", detail: identity.detail };
1492
+ }
1493
+ const paneCommand = await this.tmuxAdapter.getPaneCommand(identity.pane);
1494
+ const paneContent = (await this.tmuxAdapter.capturePaneContent(identity.pane, 40)) ?? "";
1359
1495
  const probe = assessNativeResumeProbe({ runtime, paneCommand, paneContent });
1360
- const fgProcess = paneCommand && (paneCommand === "claude" || paneCommand.startsWith("codex"))
1361
- ? (paneCommand === "claude" ? "claude" : "codex")
1362
- : null;
1496
+ const fgProcess = runtime === "claude-code" ? "claude" : runtime === "codex" ? "codex" : null;
1363
1497
  if (!fgProcess) {
1364
- return { ok: false, code: "fg_process_not_runtime", detail: `Foreground process is "${paneCommand ?? "(unknown)"}", not claude/codex.` };
1365
- }
1366
- // Precondition #3: the resume token was actually used at launch.
1367
- // Stored on the latest session row; null/empty means resume was not
1368
- // exercised so a "recovered" claim has no basis.
1369
- const sessRow = this.db.prepare("SELECT resume_token FROM sessions WHERE node_id = ? ORDER BY id DESC LIMIT 1").get(nodeId);
1370
- const resumeTokenUsed = typeof sessRow?.resume_token === "string" && sessRow.resume_token.length > 0;
1371
- if (!resumeTokenUsed) {
1372
- return { ok: false, code: "resume_token_not_used", detail: "No resume token recorded on the latest session row." };
1498
+ return { ok: false, code: "fg_process_not_runtime", detail: `Node runtime is ${runtime ?? "unknown"}, not claude/codex.` };
1373
1499
  }
1374
1500
  // Precondition #4: pane is at a usable/idle state — explicitly NOT a
1375
1501
  // resume-selection prompt and not the "returned to shell" failure mode.