@openrig/cli 0.5.7 → 0.5.9

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 (947) 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/hooks/scripts/refocus.cjs +25 -2
  4. package/daemon/assets/plugins/openrig-core/skills/agent-operated-software/SKILL.md +92 -0
  5. package/daemon/assets/plugins/openrig-core/skills/agent-operated-workflows/SKILL.md +79 -0
  6. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +95 -8
  7. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +9 -1
  8. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +2 -2
  9. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +4 -2
  10. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +12 -16
  11. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +11 -179
  12. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  13. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +98 -29
  14. package/daemon/context-packs/skills/agent-operated-software/SKILL.md +92 -0
  15. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +10 -0
  16. package/daemon/context-packs/skills/agent-operated-workflows/SKILL.md +79 -0
  17. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +10 -0
  18. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/claude-compaction-restore/scripts/precompact-hook.mjs +95 -8
  21. package/daemon/context-packs/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +9 -1
  22. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +4 -2
  31. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +189 -343
  33. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +11 -3
  34. package/daemon/context-packs/skills/core/openrig-upgrade/scripts/backup-sqlite.mjs +62 -0
  35. package/daemon/context-packs/skills/core/openrig-upgrade/scripts/inspect-upgrade.mjs +40 -0
  36. package/daemon/context-packs/skills/core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs +1419 -0
  37. package/daemon/context-packs/skills/core/openrig-upgrade/scripts/refresh-managed-plugin.mjs +151 -0
  38. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +2 -2
  46. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/openrig-user/SKILL.md +12 -16
  51. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  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/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/software-for-agents/SKILL.md +11 -179
  77. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +3 -3
  78. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  79. package/daemon/context-packs/world-example/your-world.md +1 -1
  80. package/daemon/context-packs/world-public/build-your-world.md +19 -0
  81. package/daemon/context-packs/world-public/claims.yaml +5 -1
  82. package/daemon/context-packs/world-public/manifest.yaml +40 -1
  83. package/daemon/context-packs/world-public/verify-world.sh +25 -9
  84. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  85. package/daemon/dist/adapters/claude-code-adapter.js +4 -2
  86. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  87. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  88. package/daemon/dist/adapters/codex-runtime-adapter.js +249 -2
  89. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  90. package/daemon/dist/adapters/tmux.d.ts +6 -5
  91. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  92. package/daemon/dist/adapters/tmux.js +29 -12
  93. package/daemon/dist/adapters/tmux.js.map +1 -1
  94. package/daemon/dist/build-info.js +3 -3
  95. package/daemon/dist/db/all-migrations.d.ts +1 -1
  96. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  97. package/daemon/dist/db/all-migrations.js +5 -1
  98. package/daemon/dist/db/all-migrations.js.map +1 -1
  99. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +8 -5
  100. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -1
  101. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js +8 -5
  102. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -1
  103. package/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts +17 -0
  104. package/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts.map +1 -0
  105. package/daemon/dist/db/migrations/078_idle_gate_fired_condition.js +21 -0
  106. package/daemon/dist/db/migrations/078_idle_gate_fired_condition.js.map +1 -0
  107. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts +8 -0
  108. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts.map +1 -0
  109. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js +50 -0
  110. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js.map +1 -0
  111. package/daemon/dist/domain/active-occupant.d.ts +12 -1
  112. package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  113. package/daemon/dist/domain/active-occupant.js +61 -0
  114. package/daemon/dist/domain/active-occupant.js.map +1 -1
  115. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  116. package/daemon/dist/domain/bootstrap-orchestrator.js +8 -1
  117. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  118. package/daemon/dist/domain/bundle-context-packs-router.d.ts +3 -3
  119. package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  120. package/daemon/dist/domain/bundle-skills-router.d.ts +3 -0
  121. package/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -1
  122. package/daemon/dist/domain/bundle-skills-router.js +5 -1
  123. package/daemon/dist/domain/bundle-skills-router.js.map +1 -1
  124. package/daemon/dist/domain/claim-service.d.ts +2 -0
  125. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  126. package/daemon/dist/domain/claim-service.js +33 -12
  127. package/daemon/dist/domain/claim-service.js.map +1 -1
  128. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  129. package/daemon/dist/domain/context-packs/context-pack-library-service.js +9 -1
  130. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  131. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +25 -0
  132. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  133. package/daemon/dist/domain/context-packs/context-pack-types.js +3 -1
  134. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  135. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  136. package/daemon/dist/domain/context-packs/manifest-parser.js +143 -3
  137. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  138. package/daemon/dist/domain/context-packs/profile-composer.d.ts +22 -1
  139. package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
  140. package/daemon/dist/domain/context-packs/profile-composer.js +105 -40
  141. package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
  142. package/daemon/dist/domain/context-usage-store.d.ts +4 -0
  143. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  144. package/daemon/dist/domain/context-usage-store.js +8 -4
  145. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  146. package/daemon/dist/domain/crash-cart-conductor.d.ts +13 -0
  147. package/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
  148. package/daemon/dist/domain/crash-cart-conductor.js +3 -1
  149. package/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
  150. package/daemon/dist/domain/current-work.d.ts +73 -0
  151. package/daemon/dist/domain/current-work.d.ts.map +1 -0
  152. package/daemon/dist/domain/current-work.js +225 -0
  153. package/daemon/dist/domain/current-work.js.map +1 -0
  154. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  155. package/daemon/dist/domain/execution-view.js +344 -13
  156. package/daemon/dist/domain/execution-view.js.map +1 -1
  157. package/daemon/dist/domain/gateway/human-registry.d.ts +3 -2
  158. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  159. package/daemon/dist/domain/gateway/human-registry.js +113 -18
  160. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  161. package/daemon/dist/domain/instance-initialization.d.ts +25 -0
  162. package/daemon/dist/domain/instance-initialization.d.ts.map +1 -0
  163. package/daemon/dist/domain/instance-initialization.js +81 -0
  164. package/daemon/dist/domain/instance-initialization.js.map +1 -0
  165. package/daemon/dist/domain/lifecycle-manifest.d.ts +19 -0
  166. package/daemon/dist/domain/lifecycle-manifest.d.ts.map +1 -0
  167. package/daemon/dist/domain/lifecycle-manifest.js +73 -0
  168. package/daemon/dist/domain/lifecycle-manifest.js.map +1 -0
  169. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +36 -36
  170. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  171. package/daemon/dist/domain/model-divergence/current-generation-record.js +104 -135
  172. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  173. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +3 -2
  174. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -1
  175. package/daemon/dist/domain/model-divergence/effective-model-readers.js +7 -5
  176. package/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -1
  177. package/daemon/dist/domain/native-process-lineage.d.ts +10 -0
  178. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -0
  179. package/daemon/dist/domain/native-process-lineage.js +86 -0
  180. package/daemon/dist/domain/native-process-lineage.js.map +1 -0
  181. package/daemon/dist/domain/native-resume-probe.js +12 -1
  182. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  183. package/daemon/dist/domain/node-inventory.d.ts +2 -0
  184. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  185. package/daemon/dist/domain/node-inventory.js +3 -1
  186. package/daemon/dist/domain/node-inventory.js.map +1 -1
  187. package/daemon/dist/domain/node-launcher.d.ts +3 -0
  188. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  189. package/daemon/dist/domain/node-launcher.js +21 -8
  190. package/daemon/dist/domain/node-launcher.js.map +1 -1
  191. package/daemon/dist/domain/pane-binding-observation.d.ts +22 -0
  192. package/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -0
  193. package/daemon/dist/domain/pane-binding-observation.js +54 -0
  194. package/daemon/dist/domain/pane-binding-observation.js.map +1 -0
  195. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts +5 -5
  196. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +1 -1
  197. package/daemon/dist/domain/policies/idle-gate-qitem.js +130 -22
  198. package/daemon/dist/domain/policies/idle-gate-qitem.js.map +1 -1
  199. package/daemon/dist/domain/policies/parked-owner-consumer.js +1 -1
  200. package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  201. package/daemon/dist/domain/policies/types.d.ts +12 -0
  202. package/daemon/dist/domain/policies/types.d.ts.map +1 -1
  203. package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  204. package/daemon/dist/domain/policies/workflow-keepalive.js +16 -2
  205. package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  206. package/daemon/dist/domain/profile-resolver.d.ts +12 -0
  207. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  208. package/daemon/dist/domain/profile-resolver.js +60 -0
  209. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  210. package/daemon/dist/domain/project-lifecycle-compiler.d.ts +35 -0
  211. package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -0
  212. package/daemon/dist/domain/project-lifecycle-compiler.js +190 -0
  213. package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -0
  214. package/daemon/dist/domain/provider/claude-usage-reader.d.ts +1 -1
  215. package/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -1
  216. package/daemon/dist/domain/provider/claude-usage-reader.js +28 -18
  217. package/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -1
  218. package/daemon/dist/domain/queue-repository.d.ts +42 -3
  219. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  220. package/daemon/dist/domain/queue-repository.js +177 -16
  221. package/daemon/dist/domain/queue-repository.js.map +1 -1
  222. package/daemon/dist/domain/queue-retention.d.ts +3 -4
  223. package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  224. package/daemon/dist/domain/queue-retention.js +5 -8
  225. package/daemon/dist/domain/queue-retention.js.map +1 -1
  226. package/daemon/dist/domain/queue-transition-log.d.ts +28 -0
  227. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  228. package/daemon/dist/domain/queue-transition-log.js +124 -0
  229. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  230. package/daemon/dist/domain/queue-wake-repository.d.ts +19 -0
  231. package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
  232. package/daemon/dist/domain/queue-wake-repository.js +33 -0
  233. package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
  234. package/daemon/dist/domain/reconciler.d.ts.map +1 -1
  235. package/daemon/dist/domain/reconciler.js +4 -1
  236. package/daemon/dist/domain/reconciler.js.map +1 -1
  237. package/daemon/dist/domain/rehydrate-eligibility.d.ts +11 -1
  238. package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
  239. package/daemon/dist/domain/rehydrate-eligibility.js +34 -0
  240. package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
  241. package/daemon/dist/domain/restore-attempt-receipt.d.ts +34 -0
  242. package/daemon/dist/domain/restore-attempt-receipt.d.ts.map +1 -0
  243. package/daemon/dist/domain/restore-attempt-receipt.js +59 -0
  244. package/daemon/dist/domain/restore-attempt-receipt.js.map +1 -0
  245. package/daemon/dist/domain/restore-orchestrator.d.ts +66 -24
  246. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  247. package/daemon/dist/domain/restore-orchestrator.js +184 -26
  248. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  249. package/daemon/dist/domain/restore-plan-preview.js +2 -2
  250. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  251. package/daemon/dist/domain/restore-topology.d.ts +14 -0
  252. package/daemon/dist/domain/restore-topology.d.ts.map +1 -0
  253. package/daemon/dist/domain/restore-topology.js +27 -0
  254. package/daemon/dist/domain/restore-topology.js.map +1 -0
  255. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  256. package/daemon/dist/domain/rig-lifecycle-service.js +9 -0
  257. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  258. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  259. package/daemon/dist/domain/rigspec-exporter.js +2 -0
  260. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  261. package/daemon/dist/domain/rigspec-instantiator.d.ts +34 -9
  262. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  263. package/daemon/dist/domain/rigspec-instantiator.js +131 -84
  264. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  265. package/daemon/dist/domain/rigspec-preflight.d.ts +8 -0
  266. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  267. package/daemon/dist/domain/rigspec-preflight.js +4 -0
  268. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  269. package/daemon/dist/domain/rigspec-schema.d.ts +5 -1
  270. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  271. package/daemon/dist/domain/rigspec-schema.js +41 -2
  272. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  273. package/daemon/dist/domain/seat-attention-reconciler.d.ts +55 -2
  274. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  275. package/daemon/dist/domain/seat-attention-reconciler.js +246 -16
  276. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  277. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  278. package/daemon/dist/domain/seat-identity-reconciler.js +15 -6
  279. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  280. package/daemon/dist/domain/seat-lifecycle-service.d.ts +47 -1
  281. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  282. package/daemon/dist/domain/seat-lifecycle-service.js +525 -29
  283. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  284. package/daemon/dist/domain/session-registry.d.ts +8 -1
  285. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  286. package/daemon/dist/domain/session-registry.js +19 -0
  287. package/daemon/dist/domain/session-registry.js.map +1 -1
  288. package/daemon/dist/domain/session-transport.d.ts +5 -0
  289. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  290. package/daemon/dist/domain/session-transport.js +33 -7
  291. package/daemon/dist/domain/session-transport.js.map +1 -1
  292. package/daemon/dist/domain/skill-catalog.d.ts +81 -0
  293. package/daemon/dist/domain/skill-catalog.d.ts.map +1 -0
  294. package/daemon/dist/domain/skill-catalog.js +827 -0
  295. package/daemon/dist/domain/skill-catalog.js.map +1 -0
  296. package/daemon/dist/domain/skill-discovery.d.ts +3 -0
  297. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  298. package/daemon/dist/domain/skill-discovery.js +1 -1
  299. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  300. package/daemon/dist/domain/snapshot-capture.d.ts +4 -1
  301. package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
  302. package/daemon/dist/domain/snapshot-capture.js +41 -3
  303. package/daemon/dist/domain/snapshot-capture.js.map +1 -1
  304. package/daemon/dist/domain/snapshot-repository.d.ts +15 -1
  305. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  306. package/daemon/dist/domain/snapshot-repository.js +103 -1
  307. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  308. package/daemon/dist/domain/startup-orchestrator.d.ts +2 -0
  309. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  310. package/daemon/dist/domain/startup-orchestrator.js +12 -0
  311. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  312. package/daemon/dist/domain/system-world.d.ts +45 -0
  313. package/daemon/dist/domain/system-world.d.ts.map +1 -0
  314. package/daemon/dist/domain/system-world.js +123 -0
  315. package/daemon/dist/domain/system-world.js.map +1 -0
  316. package/daemon/dist/domain/telemetry-state-paths.d.ts +7 -0
  317. package/daemon/dist/domain/telemetry-state-paths.d.ts.map +1 -0
  318. package/daemon/dist/domain/telemetry-state-paths.js +20 -0
  319. package/daemon/dist/domain/telemetry-state-paths.js.map +1 -0
  320. package/daemon/dist/domain/topology-defaults-installer.d.ts +4 -2
  321. package/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -1
  322. package/daemon/dist/domain/topology-defaults-installer.js +27 -0
  323. package/daemon/dist/domain/topology-defaults-installer.js.map +1 -1
  324. package/daemon/dist/domain/types.d.ts +103 -4
  325. package/daemon/dist/domain/types.d.ts.map +1 -1
  326. package/daemon/dist/domain/types.js.map +1 -1
  327. package/daemon/dist/domain/up-command-router.d.ts.map +1 -1
  328. package/daemon/dist/domain/up-command-router.js +19 -0
  329. package/daemon/dist/domain/up-command-router.js.map +1 -1
  330. package/daemon/dist/domain/user-settings/settings-store.d.ts +8 -3
  331. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  332. package/daemon/dist/domain/user-settings/settings-store.js +65 -29
  333. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  334. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +9 -0
  335. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  336. package/daemon/dist/domain/watchdog-jobs-repository.js +15 -2
  337. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  338. package/daemon/dist/domain/watchdog-policy-engine.d.ts +14 -23
  339. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  340. package/daemon/dist/domain/watchdog-policy-engine.js +91 -226
  341. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  342. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  343. package/daemon/dist/domain/workflow-boot-sweep.js +20 -6
  344. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  345. package/daemon/dist/domain/workflow-instance-store.d.ts +33 -1
  346. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  347. package/daemon/dist/domain/workflow-instance-store.js +127 -2
  348. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  349. package/daemon/dist/domain/workflow-keepalive-arming.d.ts +7 -5
  350. package/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -1
  351. package/daemon/dist/domain/workflow-keepalive-arming.js +27 -16
  352. package/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -1
  353. package/daemon/dist/domain/workflow-projector.d.ts +6 -2
  354. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  355. package/daemon/dist/domain/workflow-projector.js +271 -2
  356. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  357. package/daemon/dist/domain/workflow-runtime.d.ts +62 -2
  358. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  359. package/daemon/dist/domain/workflow-runtime.js +334 -18
  360. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  361. package/daemon/dist/domain/workflow-spec-cache.d.ts +9 -1
  362. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  363. package/daemon/dist/domain/workflow-spec-cache.js +85 -0
  364. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  365. package/daemon/dist/domain/workflow-types.d.ts +38 -1
  366. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  367. package/daemon/dist/domain/workflow-types.js.map +1 -1
  368. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  369. package/daemon/dist/domain/workflow-validator.js +20 -3
  370. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  371. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +38 -9
  372. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  373. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +93 -347
  374. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  375. package/daemon/dist/index.d.ts.map +1 -1
  376. package/daemon/dist/index.js +13 -0
  377. package/daemon/dist/index.js.map +1 -1
  378. package/daemon/dist/instance-initialization-surface.d.ts +3 -0
  379. package/daemon/dist/instance-initialization-surface.d.ts.map +1 -0
  380. package/daemon/dist/instance-initialization-surface.js +3 -0
  381. package/daemon/dist/instance-initialization-surface.js.map +1 -0
  382. package/daemon/dist/project-lifecycle-surface.d.ts +3 -0
  383. package/daemon/dist/project-lifecycle-surface.d.ts.map +1 -0
  384. package/daemon/dist/project-lifecycle-surface.js +3 -0
  385. package/daemon/dist/project-lifecycle-surface.js.map +1 -0
  386. package/daemon/dist/routes/bundles.js +10 -9
  387. package/daemon/dist/routes/bundles.js.map +1 -1
  388. package/daemon/dist/routes/config.d.ts.map +1 -1
  389. package/daemon/dist/routes/config.js +27 -49
  390. package/daemon/dist/routes/config.js.map +1 -1
  391. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  392. package/daemon/dist/routes/context-packs.js +114 -16
  393. package/daemon/dist/routes/context-packs.js.map +1 -1
  394. package/daemon/dist/routes/crash-cart.js +3 -0
  395. package/daemon/dist/routes/crash-cart.js.map +1 -1
  396. package/daemon/dist/routes/queue.d.ts.map +1 -1
  397. package/daemon/dist/routes/queue.js +51 -10
  398. package/daemon/dist/routes/queue.js.map +1 -1
  399. package/daemon/dist/routes/rigs.js +22 -4
  400. package/daemon/dist/routes/rigs.js.map +1 -1
  401. package/daemon/dist/routes/rigspec.d.ts.map +1 -1
  402. package/daemon/dist/routes/rigspec.js +46 -2
  403. package/daemon/dist/routes/rigspec.js.map +1 -1
  404. package/daemon/dist/routes/seat.js +21 -1
  405. package/daemon/dist/routes/seat.js.map +1 -1
  406. package/daemon/dist/routes/sessions.js +16 -6
  407. package/daemon/dist/routes/sessions.js.map +1 -1
  408. package/daemon/dist/routes/snapshots.d.ts.map +1 -1
  409. package/daemon/dist/routes/snapshots.js +41 -3
  410. package/daemon/dist/routes/snapshots.js.map +1 -1
  411. package/daemon/dist/routes/up.js +22 -4
  412. package/daemon/dist/routes/up.js.map +1 -1
  413. package/daemon/dist/routes/watchdog.d.ts.map +1 -1
  414. package/daemon/dist/routes/watchdog.js +7 -6
  415. package/daemon/dist/routes/watchdog.js.map +1 -1
  416. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  417. package/daemon/dist/routes/workflow.js +104 -39
  418. package/daemon/dist/routes/workflow.js.map +1 -1
  419. package/daemon/dist/server.d.ts +2 -0
  420. package/daemon/dist/server.d.ts.map +1 -1
  421. package/daemon/dist/server.js +1 -0
  422. package/daemon/dist/server.js.map +1 -1
  423. package/daemon/dist/skill-loadout-surface.d.ts +3 -0
  424. package/daemon/dist/skill-loadout-surface.d.ts.map +1 -0
  425. package/daemon/dist/skill-loadout-surface.js +2 -0
  426. package/daemon/dist/skill-loadout-surface.js.map +1 -0
  427. package/daemon/dist/startup.d.ts.map +1 -1
  428. package/daemon/dist/startup.js +88 -71
  429. package/daemon/dist/startup.js.map +1 -1
  430. package/daemon/dist/system-world-surface.d.ts +2 -0
  431. package/daemon/dist/system-world-surface.d.ts.map +1 -0
  432. package/daemon/dist/system-world-surface.js +2 -0
  433. package/daemon/dist/system-world-surface.js.map +1 -0
  434. package/daemon/docs/reference/agent-spec.md +33 -0
  435. package/daemon/docs/reference/chain-file-convention.md +17 -12
  436. package/daemon/docs/reference/getting-started.md +2 -1
  437. package/daemon/docs/reference/instance-layout.md +106 -0
  438. package/daemon/docs/reference/mission-install.md +12 -2
  439. package/daemon/docs/reference/project-workspace.md +66 -40
  440. package/daemon/docs/reference/release-boundary.md +29 -5
  441. package/daemon/docs/reference/sdlc-conventions.md +6 -0
  442. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +4 -2
  443. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +189 -343
  444. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/backup-sqlite.mjs +62 -0
  445. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/inspect-upgrade.mjs +40 -0
  446. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs +1419 -0
  447. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/refresh-managed-plugin.mjs +151 -0
  448. package/daemon/specs/rigs/preview/product-team/topology/instance/CRAFT.md +4 -4
  449. package/daemon/specs/rigs/preview/product-team/topology/rig/ORCHESTRATION-CRAFT.md +3 -3
  450. package/dist/build-info.js +3 -3
  451. package/dist/commands/config-init-workspace.d.ts +4 -23
  452. package/dist/commands/config-init-workspace.d.ts.map +1 -1
  453. package/dist/commands/config-init-workspace.js +14 -576
  454. package/dist/commands/config-init-workspace.js.map +1 -1
  455. package/dist/commands/config.d.ts.map +1 -1
  456. package/dist/commands/config.js +6 -4
  457. package/dist/commands/config.js.map +1 -1
  458. package/dist/commands/context.d.ts.map +1 -1
  459. package/dist/commands/context.js +167 -15
  460. package/dist/commands/context.js.map +1 -1
  461. package/dist/commands/daemon.d.ts.map +1 -1
  462. package/dist/commands/daemon.js +16 -0
  463. package/dist/commands/daemon.js.map +1 -1
  464. package/dist/commands/import.d.ts.map +1 -1
  465. package/dist/commands/import.js +27 -1
  466. package/dist/commands/import.js.map +1 -1
  467. package/dist/commands/launch.d.ts.map +1 -1
  468. package/dist/commands/launch.js +51 -4
  469. package/dist/commands/launch.js.map +1 -1
  470. package/dist/commands/restore.d.ts.map +1 -1
  471. package/dist/commands/restore.js +43 -3
  472. package/dist/commands/restore.js.map +1 -1
  473. package/dist/commands/scope.d.ts.map +1 -1
  474. package/dist/commands/scope.js +169 -79
  475. package/dist/commands/scope.js.map +1 -1
  476. package/dist/commands/seat.d.ts.map +1 -1
  477. package/dist/commands/seat.js +30 -0
  478. package/dist/commands/seat.js.map +1 -1
  479. package/dist/commands/skill.d.ts.map +1 -1
  480. package/dist/commands/skill.js +61 -0
  481. package/dist/commands/skill.js.map +1 -1
  482. package/dist/commands/snapshot.d.ts.map +1 -1
  483. package/dist/commands/snapshot.js +4 -2
  484. package/dist/commands/snapshot.js.map +1 -1
  485. package/dist/commands/start.d.ts.map +1 -1
  486. package/dist/commands/start.js +3 -0
  487. package/dist/commands/start.js.map +1 -1
  488. package/dist/commands/up.d.ts.map +1 -1
  489. package/dist/commands/up.js +3 -0
  490. package/dist/commands/up.js.map +1 -1
  491. package/dist/commands/walk.d.ts.map +1 -1
  492. package/dist/commands/walk.js +3 -0
  493. package/dist/commands/walk.js.map +1 -1
  494. package/dist/commands/watchdog.d.ts.map +1 -1
  495. package/dist/commands/watchdog.js +51 -3
  496. package/dist/commands/watchdog.js.map +1 -1
  497. package/dist/commands/workflow-render.d.ts +31 -0
  498. package/dist/commands/workflow-render.d.ts.map +1 -1
  499. package/dist/commands/workflow-render.js +84 -6
  500. package/dist/commands/workflow-render.js.map +1 -1
  501. package/dist/commands/workflow.d.ts.map +1 -1
  502. package/dist/commands/workflow.js +96 -8
  503. package/dist/commands/workflow.js.map +1 -1
  504. package/dist/config-store.d.ts +9 -4
  505. package/dist/config-store.d.ts.map +1 -1
  506. package/dist/config-store.js +67 -30
  507. package/dist/config-store.js.map +1 -1
  508. package/dist/daemon-lifecycle.d.ts +8 -15
  509. package/dist/daemon-lifecycle.d.ts.map +1 -1
  510. package/dist/daemon-lifecycle.js +24 -31
  511. package/dist/daemon-lifecycle.js.map +1 -1
  512. package/dist/front-door.d.ts.map +1 -1
  513. package/dist/front-door.js +16 -4
  514. package/dist/front-door.js.map +1 -1
  515. package/dist/lib/scope/mission-composition.d.ts +16 -0
  516. package/dist/lib/scope/mission-composition.d.ts.map +1 -0
  517. package/dist/lib/scope/mission-composition.js +110 -0
  518. package/dist/lib/scope/mission-composition.js.map +1 -0
  519. package/dist/lib/scope/scope-fs.d.ts +5 -0
  520. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  521. package/dist/lib/scope/scope-fs.js +34 -4
  522. package/dist/lib/scope/scope-fs.js.map +1 -1
  523. package/dist/lib/topology-trace.d.ts +3 -2
  524. package/dist/lib/topology-trace.d.ts.map +1 -1
  525. package/dist/lib/topology-trace.js +12 -2
  526. package/dist/lib/topology-trace.js.map +1 -1
  527. package/dist/lib/work-install.d.ts +17 -0
  528. package/dist/lib/work-install.d.ts.map +1 -1
  529. package/dist/lib/work-install.js +111 -34
  530. package/dist/lib/work-install.js.map +1 -1
  531. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  532. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +4 -2
  533. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  534. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  535. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js +249 -2
  536. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  537. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +6 -5
  538. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
  539. package/node_modules/@openrig/daemon/dist/adapters/tmux.js +29 -12
  540. package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
  541. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  542. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
  543. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
  544. package/node_modules/@openrig/daemon/dist/db/all-migrations.js +5 -1
  545. package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
  546. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +8 -5
  547. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -1
  548. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js +8 -5
  549. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -1
  550. package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts +17 -0
  551. package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts.map +1 -0
  552. package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.js +21 -0
  553. package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.js.map +1 -0
  554. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts +8 -0
  555. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts.map +1 -0
  556. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js +50 -0
  557. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js.map +1 -0
  558. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +12 -1
  559. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  560. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +61 -0
  561. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -1
  562. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  563. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js +8 -1
  564. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  565. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts +3 -3
  566. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  567. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts +3 -0
  568. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -1
  569. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js +5 -1
  570. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js.map +1 -1
  571. package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts +2 -0
  572. package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts.map +1 -1
  573. package/node_modules/@openrig/daemon/dist/domain/claim-service.js +33 -12
  574. package/node_modules/@openrig/daemon/dist/domain/claim-service.js.map +1 -1
  575. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  576. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js +9 -1
  577. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  578. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +25 -0
  579. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  580. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +3 -1
  581. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  582. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  583. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +143 -3
  584. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  585. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +22 -1
  586. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
  587. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +105 -40
  588. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
  589. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts +4 -0
  590. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  591. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js +8 -4
  592. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js.map +1 -1
  593. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts +13 -0
  594. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
  595. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +3 -1
  596. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
  597. package/node_modules/@openrig/daemon/dist/domain/current-work.d.ts +73 -0
  598. package/node_modules/@openrig/daemon/dist/domain/current-work.d.ts.map +1 -0
  599. package/node_modules/@openrig/daemon/dist/domain/current-work.js +225 -0
  600. package/node_modules/@openrig/daemon/dist/domain/current-work.js.map +1 -0
  601. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
  602. package/node_modules/@openrig/daemon/dist/domain/execution-view.js +344 -13
  603. package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
  604. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +3 -2
  605. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  606. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +113 -18
  607. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  608. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts +25 -0
  609. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts.map +1 -0
  610. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js +81 -0
  611. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js.map +1 -0
  612. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts +19 -0
  613. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts.map +1 -0
  614. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js +73 -0
  615. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js.map +1 -0
  616. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +36 -36
  617. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  618. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +104 -135
  619. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  620. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +3 -2
  621. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -1
  622. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js +7 -5
  623. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -1
  624. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts +10 -0
  625. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts.map +1 -0
  626. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js +86 -0
  627. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js.map +1 -0
  628. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js +12 -1
  629. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js.map +1 -1
  630. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts +2 -0
  631. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  632. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +3 -1
  633. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
  634. package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts +3 -0
  635. package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  636. package/node_modules/@openrig/daemon/dist/domain/node-launcher.js +21 -8
  637. package/node_modules/@openrig/daemon/dist/domain/node-launcher.js.map +1 -1
  638. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts +22 -0
  639. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -0
  640. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js +54 -0
  641. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js.map +1 -0
  642. package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.d.ts +5 -5
  643. package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +1 -1
  644. package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.js +130 -22
  645. package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.js.map +1 -1
  646. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +1 -1
  647. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  648. package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts +12 -0
  649. package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts.map +1 -1
  650. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  651. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js +16 -2
  652. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  653. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts +12 -0
  654. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  655. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js +60 -0
  656. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js.map +1 -1
  657. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts +35 -0
  658. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -0
  659. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js +190 -0
  660. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -0
  661. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts +1 -1
  662. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -1
  663. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js +28 -18
  664. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -1
  665. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +42 -3
  666. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  667. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +177 -16
  668. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
  669. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts +3 -4
  670. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  671. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +5 -8
  672. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +1 -1
  673. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +28 -0
  674. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  675. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +124 -0
  676. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
  677. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +19 -0
  678. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
  679. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +33 -0
  680. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
  681. package/node_modules/@openrig/daemon/dist/domain/reconciler.d.ts.map +1 -1
  682. package/node_modules/@openrig/daemon/dist/domain/reconciler.js +4 -1
  683. package/node_modules/@openrig/daemon/dist/domain/reconciler.js.map +1 -1
  684. package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.d.ts +11 -1
  685. package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
  686. package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js +34 -0
  687. package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
  688. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts +34 -0
  689. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts.map +1 -0
  690. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js +59 -0
  691. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js.map +1 -0
  692. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +66 -24
  693. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  694. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +184 -26
  695. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  696. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js +2 -2
  697. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  698. package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts +14 -0
  699. package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts.map +1 -0
  700. package/node_modules/@openrig/daemon/dist/domain/restore-topology.js +27 -0
  701. package/node_modules/@openrig/daemon/dist/domain/restore-topology.js.map +1 -0
  702. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  703. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js +9 -0
  704. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  705. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  706. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.js +2 -0
  707. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  708. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +34 -9
  709. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  710. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +131 -84
  711. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  712. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts +8 -0
  713. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  714. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js +4 -0
  715. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  716. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts +5 -1
  717. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  718. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +41 -2
  719. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
  720. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts +55 -2
  721. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  722. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js +246 -16
  723. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  724. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  725. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js +15 -6
  726. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  727. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts +47 -1
  728. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  729. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js +525 -29
  730. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  731. package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts +8 -1
  732. package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts.map +1 -1
  733. package/node_modules/@openrig/daemon/dist/domain/session-registry.js +19 -0
  734. package/node_modules/@openrig/daemon/dist/domain/session-registry.js.map +1 -1
  735. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts +5 -0
  736. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts.map +1 -1
  737. package/node_modules/@openrig/daemon/dist/domain/session-transport.js +33 -7
  738. package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
  739. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts +81 -0
  740. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts.map +1 -0
  741. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js +827 -0
  742. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js.map +1 -0
  743. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts +3 -0
  744. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  745. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js +1 -1
  746. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js.map +1 -1
  747. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts +4 -1
  748. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
  749. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +41 -3
  750. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
  751. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts +15 -1
  752. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  753. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js +103 -1
  754. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js.map +1 -1
  755. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts +2 -0
  756. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  757. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js +12 -0
  758. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  759. package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts +45 -0
  760. package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts.map +1 -0
  761. package/node_modules/@openrig/daemon/dist/domain/system-world.js +123 -0
  762. package/node_modules/@openrig/daemon/dist/domain/system-world.js.map +1 -0
  763. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts +7 -0
  764. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts.map +1 -0
  765. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js +20 -0
  766. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js.map +1 -0
  767. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts +4 -2
  768. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -1
  769. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js +27 -0
  770. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js.map +1 -1
  771. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +103 -4
  772. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  773. package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
  774. package/node_modules/@openrig/daemon/dist/domain/up-command-router.d.ts.map +1 -1
  775. package/node_modules/@openrig/daemon/dist/domain/up-command-router.js +19 -0
  776. package/node_modules/@openrig/daemon/dist/domain/up-command-router.js.map +1 -1
  777. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +8 -3
  778. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  779. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +65 -29
  780. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  781. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +9 -0
  782. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  783. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js +15 -2
  784. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  785. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +14 -23
  786. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  787. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +91 -226
  788. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  789. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  790. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js +20 -6
  791. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  792. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts +33 -1
  793. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  794. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js +127 -2
  795. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  796. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts +7 -5
  797. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -1
  798. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js +27 -16
  799. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -1
  800. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts +6 -2
  801. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  802. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js +271 -2
  803. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js.map +1 -1
  804. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts +62 -2
  805. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  806. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js +334 -18
  807. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +1 -1
  808. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts +9 -1
  809. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  810. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js +85 -0
  811. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  812. package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts +38 -1
  813. package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  814. package/node_modules/@openrig/daemon/dist/domain/workflow-types.js.map +1 -1
  815. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  816. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js +20 -3
  817. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js.map +1 -1
  818. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +38 -9
  819. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  820. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js +93 -347
  821. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  822. package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
  823. package/node_modules/@openrig/daemon/dist/index.js +13 -0
  824. package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
  825. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts +3 -0
  826. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts.map +1 -0
  827. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js +3 -0
  828. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js.map +1 -0
  829. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts +3 -0
  830. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts.map +1 -0
  831. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js +3 -0
  832. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js.map +1 -0
  833. package/node_modules/@openrig/daemon/dist/routes/bundles.js +10 -9
  834. package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
  835. package/node_modules/@openrig/daemon/dist/routes/config.d.ts.map +1 -1
  836. package/node_modules/@openrig/daemon/dist/routes/config.js +27 -49
  837. package/node_modules/@openrig/daemon/dist/routes/config.js.map +1 -1
  838. package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
  839. package/node_modules/@openrig/daemon/dist/routes/context-packs.js +114 -16
  840. package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
  841. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js +3 -0
  842. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js.map +1 -1
  843. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
  844. package/node_modules/@openrig/daemon/dist/routes/queue.js +51 -10
  845. package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
  846. package/node_modules/@openrig/daemon/dist/routes/rigs.js +22 -4
  847. package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
  848. package/node_modules/@openrig/daemon/dist/routes/rigspec.d.ts.map +1 -1
  849. package/node_modules/@openrig/daemon/dist/routes/rigspec.js +46 -2
  850. package/node_modules/@openrig/daemon/dist/routes/rigspec.js.map +1 -1
  851. package/node_modules/@openrig/daemon/dist/routes/seat.js +21 -1
  852. package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
  853. package/node_modules/@openrig/daemon/dist/routes/sessions.js +16 -6
  854. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
  855. package/node_modules/@openrig/daemon/dist/routes/snapshots.d.ts.map +1 -1
  856. package/node_modules/@openrig/daemon/dist/routes/snapshots.js +41 -3
  857. package/node_modules/@openrig/daemon/dist/routes/snapshots.js.map +1 -1
  858. package/node_modules/@openrig/daemon/dist/routes/up.js +22 -4
  859. package/node_modules/@openrig/daemon/dist/routes/up.js.map +1 -1
  860. package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts.map +1 -1
  861. package/node_modules/@openrig/daemon/dist/routes/watchdog.js +7 -6
  862. package/node_modules/@openrig/daemon/dist/routes/watchdog.js.map +1 -1
  863. package/node_modules/@openrig/daemon/dist/routes/workflow.d.ts.map +1 -1
  864. package/node_modules/@openrig/daemon/dist/routes/workflow.js +104 -39
  865. package/node_modules/@openrig/daemon/dist/routes/workflow.js.map +1 -1
  866. package/node_modules/@openrig/daemon/dist/server.d.ts +2 -0
  867. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  868. package/node_modules/@openrig/daemon/dist/server.js +1 -0
  869. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  870. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts +3 -0
  871. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts.map +1 -0
  872. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js +2 -0
  873. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js.map +1 -0
  874. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  875. package/node_modules/@openrig/daemon/dist/startup.js +88 -71
  876. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  877. package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts +2 -0
  878. package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts.map +1 -0
  879. package/node_modules/@openrig/daemon/dist/system-world-surface.js +2 -0
  880. package/node_modules/@openrig/daemon/dist/system-world-surface.js.map +1 -0
  881. package/node_modules/@openrig/daemon/package.json +17 -1
  882. package/package.json +2 -1
  883. package/tui/dist/commands/registry.d.ts.map +1 -1
  884. package/tui/dist/commands/registry.js +10 -1
  885. package/tui/dist/commands/registry.js.map +1 -1
  886. package/tui/dist/daemon-client.d.ts +13 -0
  887. package/tui/dist/daemon-client.d.ts.map +1 -1
  888. package/tui/dist/daemon-client.js +19 -0
  889. package/tui/dist/daemon-client.js.map +1 -1
  890. package/tui/dist/demo-data.d.ts.map +1 -1
  891. package/tui/dist/demo-data.js +65 -9
  892. package/tui/dist/demo-data.js.map +1 -1
  893. package/tui/dist/detail.d.ts +9 -0
  894. package/tui/dist/detail.d.ts.map +1 -1
  895. package/tui/dist/detail.js.map +1 -1
  896. package/tui/dist/execution/execution-model.d.ts +25 -0
  897. package/tui/dist/execution/execution-model.d.ts.map +1 -0
  898. package/tui/dist/execution/execution-model.js +881 -0
  899. package/tui/dist/execution/execution-model.js.map +1 -0
  900. package/tui/dist/hydrate.d.ts +3 -2
  901. package/tui/dist/hydrate.d.ts.map +1 -1
  902. package/tui/dist/hydrate.js +70 -8
  903. package/tui/dist/hydrate.js.map +1 -1
  904. package/tui/dist/input.d.ts +12 -0
  905. package/tui/dist/input.d.ts.map +1 -1
  906. package/tui/dist/input.js +31 -8
  907. package/tui/dist/input.js.map +1 -1
  908. package/tui/dist/live.d.ts +10 -0
  909. package/tui/dist/live.d.ts.map +1 -1
  910. package/tui/dist/live.js +34 -1
  911. package/tui/dist/live.js.map +1 -1
  912. package/tui/dist/main.js +57 -7
  913. package/tui/dist/main.js.map +1 -1
  914. package/tui/dist/navigator.d.ts.map +1 -1
  915. package/tui/dist/navigator.js +10 -6
  916. package/tui/dist/navigator.js.map +1 -1
  917. package/tui/dist/render.d.ts.map +1 -1
  918. package/tui/dist/render.js +605 -153
  919. package/tui/dist/render.js.map +1 -1
  920. package/tui/dist/scopes/scopes-model.d.ts +15 -8
  921. package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
  922. package/tui/dist/scopes/scopes-model.js +218 -44
  923. package/tui/dist/scopes/scopes-model.js.map +1 -1
  924. package/tui/dist/sections.js +2 -2
  925. package/tui/dist/sections.js.map +1 -1
  926. package/tui/dist/socket-server.d.ts +13 -0
  927. package/tui/dist/socket-server.d.ts.map +1 -1
  928. package/tui/dist/socket-server.js +24 -0
  929. package/tui/dist/socket-server.js.map +1 -1
  930. package/tui/dist/state.d.ts.map +1 -1
  931. package/tui/dist/state.js +35 -8
  932. package/tui/dist/state.js.map +1 -1
  933. package/tui/dist/stylize.d.ts.map +1 -1
  934. package/tui/dist/stylize.js +23 -29
  935. package/tui/dist/stylize.js.map +1 -1
  936. package/tui/dist/theme.d.ts +1 -1
  937. package/tui/dist/theme.d.ts.map +1 -1
  938. package/tui/dist/theme.js +5 -4
  939. package/tui/dist/theme.js.map +1 -1
  940. package/tui/dist/types.d.ts +117 -1
  941. package/tui/dist/types.d.ts.map +1 -1
  942. package/tui/dist/visual-layout.d.ts +6 -0
  943. package/tui/dist/visual-layout.d.ts.map +1 -0
  944. package/tui/dist/visual-layout.js +8 -0
  945. package/tui/dist/visual-layout.js.map +1 -0
  946. package/ui/dist/assets/{index-B_wqzP0D.js → index-wyX378xb.js} +15 -15
  947. package/ui/dist/index.html +1 -1
@@ -234,12 +234,24 @@ export function destinationRigTeaching(session) {
234
234
  * gateway resolver (how to register + "not an agent seat"). Loads the registry only for
235
235
  * the (rare) @external refusal path. Undefined for non-@external / registered / scheme.
236
236
  */
237
- export function externalAdmissionTeaching(session) {
237
+ export function externalAdmissionTeaching(session, loadRegistry = loadHumanRegistry) {
238
238
  const parsed = parseSessionName(session);
239
239
  if (parsed.kind !== "external")
240
240
  return undefined;
241
- const reg = loadHumanRegistry();
242
- const entities = reg.ok ? reg.entities.map((e) => ({ entityId: e.entityId, address: e.address })) : [];
241
+ if (resolveExternal(parsed.local, []).kind === "scheme")
242
+ return undefined;
243
+ const reg = loadRegistry();
244
+ if (!reg.ok) {
245
+ return {
246
+ externalDomain: parsed.domain,
247
+ registryLoadError: true,
248
+ registryError: reg.error,
249
+ ...(/projection/i.test(reg.error) ? { registryProjectionError: true } : {}),
250
+ hint: `human registry admission is unavailable because the registry/projection failed to load: ${reg.error}. ` +
251
+ "Repair the existing registry projection from its fragments; do not re-add the human or downgrade the destination to an agent seat.",
252
+ };
253
+ }
254
+ const entities = reg.entities.map((e) => ({ entityId: e.entityId, address: e.address }));
243
255
  const res = resolveExternal(parsed.local, entities);
244
256
  if (res.kind !== "unregistered")
245
257
  return undefined; // registered/scheme were admitted upstream
@@ -247,8 +259,15 @@ export function externalAdmissionTeaching(session) {
247
259
  }
248
260
  /** The refusal teaching for ANY rejected destination: the @external entity teaching
249
261
  * (A4b) OR the host-suffix teaching (4b). One helper, all four refusal sites. */
250
- export function destinationRefusalTeaching(session) {
251
- return externalAdmissionTeaching(session) ?? destinationRigTeaching(session);
262
+ export function destinationRefusalTeaching(session, loadRegistry = loadHumanRegistry) {
263
+ return externalAdmissionTeaching(session, loadRegistry) ?? destinationRigTeaching(session);
264
+ }
265
+ function destinationValidationError(field, session, loadRegistry) {
266
+ const teaching = destinationRefusalTeaching(session, loadRegistry);
267
+ if (teaching?.registryLoadError === true) {
268
+ return new QueueRepositoryError("human_registry_unavailable", `${field} ${session} cannot be admitted because the human registry failed to load: ${String(teaching.registryError)}`, teaching);
269
+ }
270
+ return new QueueRepositoryError("unknown_destination_rig", `${field} ${session} references an unknown rig`, teaching);
252
271
  }
253
272
  /**
254
273
  * MF6: does a transport error/reason string denote a TIMEOUT (ambiguous — the
@@ -808,7 +827,7 @@ export class QueueRepository {
808
827
  // (routes/queue.ts stamp-at-FORWARD), and a genuine origin triple arriving from a
809
828
  // forward is stored verbatim (never re-stamped, never stripped).
810
829
  if (!this.validateRig(input.destinationSession)) {
811
- throw new QueueRepositoryError("unknown_destination_rig", `destination_session ${input.destinationSession} references an unknown rig`, destinationRefusalTeaching(input.destinationSession));
830
+ throw destinationValidationError("destination_session", input.destinationSession, this.loadHumanRegistryFn);
812
831
  }
813
832
  const txn = this.db.transaction(() => this.createInTransactionalContext(input));
814
833
  let id;
@@ -870,7 +889,7 @@ export class QueueRepository {
870
889
  */
871
890
  createWithinTransaction(input) {
872
891
  if (!this.validateRig(input.destinationSession)) {
873
- throw new QueueRepositoryError("unknown_destination_rig", `destination_session ${input.destinationSession} references an unknown rig`, destinationRefusalTeaching(input.destinationSession));
892
+ throw destinationValidationError("destination_session", input.destinationSession, this.loadHumanRegistryFn);
874
893
  }
875
894
  const result = this.createInTransactionalContext(input);
876
895
  return {
@@ -969,7 +988,7 @@ export class QueueRepository {
969
988
  throw new QueueRepositoryError("qitem_already_terminal", `qitem ${input.qitemId} is already in terminal state ${source.state}`);
970
989
  }
971
990
  if (!this.validateRig(input.toSession)) {
972
- throw new QueueRepositoryError("unknown_destination_rig", `to_session ${input.toSession} references an unknown rig`, destinationRefusalTeaching(input.toSession));
991
+ throw destinationValidationError("to_session", input.toSession, this.loadHumanRegistryFn);
973
992
  }
974
993
  const newId = newQitemId();
975
994
  const ts = new Date().toISOString();
@@ -1013,6 +1032,10 @@ export class QueueRepository {
1013
1032
  closureTarget: input.toSession,
1014
1033
  identityProvenance: input.identityProvenance ?? null, // P21 §4 era-stamp
1015
1034
  });
1035
+ // OPR.0.5.8.1 S1b — THE ROUTE THE FOUNDING SPECIMEN TOOK. Row b7a70333 went
1036
+ // handed-off at 10:02:03Z and its timer still fired at 10:18:07Z, because
1037
+ // handoff() is its own transaction and never passes through update().
1038
+ this.retireParkGeneratedTimer(source.qitemId, "park_ended:handed-off");
1016
1039
  if (this.hasTargetRepoColumn) {
1017
1040
  this.db
1018
1041
  .prepare(`INSERT INTO queue_items (
@@ -1113,7 +1136,7 @@ export class QueueRepository {
1113
1136
  throw new QueueRepositoryError("qitem_already_terminal", `qitem ${input.qitemId} is already in terminal state ${source.state}`);
1114
1137
  }
1115
1138
  if (!this.validateRig(input.toSession)) {
1116
- throw new QueueRepositoryError("unknown_destination_rig", `to_session ${input.toSession} references an unknown rig`, destinationRefusalTeaching(input.toSession));
1139
+ throw destinationValidationError("to_session", input.toSession, this.loadHumanRegistryFn);
1117
1140
  }
1118
1141
  const newId = newQitemId();
1119
1142
  const ts = new Date().toISOString();
@@ -1155,6 +1178,9 @@ export class QueueRepository {
1155
1178
  closureTarget: input.toSession,
1156
1179
  identityProvenance: input.identityProvenance ?? null, // P21 §4 era-stamp
1157
1180
  });
1181
+ // OPR.0.5.8.1 S1b — same structural bypass as handoff(): own transaction,
1182
+ // never routes through update().
1183
+ this.retireParkGeneratedTimer(source.qitemId, "park_ended:done");
1158
1184
  if (this.hasTargetRepoColumn) {
1159
1185
  this.db
1160
1186
  .prepare(`INSERT INTO queue_items (
@@ -1299,6 +1325,8 @@ export class QueueRepository {
1299
1325
  closureReason: "handed_off_to",
1300
1326
  closureTarget: input.closureTarget,
1301
1327
  });
1328
+ // OPR.0.5.8.1 S1b — third member of the handoff family, same bypass.
1329
+ this.retireParkGeneratedTimer(input.qitemId, `park_ended:${input.terminalState}`);
1302
1330
  const handoffEvent = this.eventBus.persistWithinTransaction({
1303
1331
  type: "queue.handed_off",
1304
1332
  qitemId: input.qitemId,
@@ -1366,6 +1394,21 @@ export class QueueRepository {
1366
1394
  asSource: { total: sourceTotalRow.n },
1367
1395
  };
1368
1396
  }
1397
+ /**
1398
+ * Every in-progress row destined for `session`, UNBOUNDED and single-state.
1399
+ *
1400
+ * `whoami`'s `recent` is a display projection: it is capped (default 25, max 200) and
1401
+ * mixes pending/in-progress/blocked. Anything that must reason about how many batons a
1402
+ * seat truly holds — in particular a refusal that fires on ambiguity — cannot read it,
1403
+ * because a second in-progress row sitting past the cap is invisible and the refusal
1404
+ * silently degrades into a confident answer. This is that authoritative input.
1405
+ */
1406
+ listInProgressForDestination(session) {
1407
+ const rows = this.db
1408
+ .prepare(`SELECT * FROM queue_items WHERE destination_session = ? AND state = 'in-progress'`)
1409
+ .all(session);
1410
+ return rows.map((r) => this.rowToItem(r));
1411
+ }
1369
1412
  /**
1370
1413
  * Mark a qitem `in-progress` (claim). Computes closure_required_at from tier.
1371
1414
  */
@@ -1411,6 +1454,13 @@ export class QueueRepository {
1411
1454
  transitionNote: "claimed",
1412
1455
  identityProvenance: input.identityProvenance ?? null, // P21 §4 era-stamp
1413
1456
  });
1457
+ // OPR.0.5.8.1 S1b — CLAIM-RESUME. A blocked row is claimable ("only
1458
+ // pending/blocked are claimable"), so claiming is a real exit from a park
1459
+ // and it writes state directly rather than through update(). This is the
1460
+ // very transition the story contract named, and my first repair pinned it
1461
+ // through `update()` — a different spelling of the same outcome, which is
1462
+ // why it looked covered.
1463
+ this.retireParkGeneratedTimer(input.qitemId, "park_ended:claimed");
1414
1464
  return this.eventBus.persistWithinTransaction({
1415
1465
  type: "queue.claimed",
1416
1466
  qitemId: input.qitemId,
@@ -1728,12 +1778,20 @@ export class QueueRepository {
1728
1778
  intervalSeconds: input.wakeAfterSeconds,
1729
1779
  registeredBySession: input.actorSession,
1730
1780
  });
1731
- // S16 only: ordinary periodic reminders intentionally evaluate immediately.
1732
- // A provider-limit timer instead starts its interval at registration so the
1733
- // existing scheduler's due boundary is registeredAt + intervalSeconds.
1734
- if (qitem.tags?.includes(USAGE_LIMIT_BLOCKER_TAG)) {
1735
- jobsRepo.recordEvaluation(job.jobId, job.registeredAt, false);
1736
- }
1781
+ // OPR.0.5.8.1 S1 — start the interval at registration for EVERY explicit
1782
+ // `--wake-after` timer, not only provider-limit ones.
1783
+ //
1784
+ // `isDue` treats a job with no `last_evaluation_at` as due immediately, so
1785
+ // an unseeded timer fires on the scheduler's very first pass regardless of
1786
+ // its interval: measured at 0.69s for a requested 20m and 0.77s for a
1787
+ // requested 2h. The duration was never lost — `interval_seconds` held 1200
1788
+ // and 7200 correctly — it simply was not the thing being measured against.
1789
+ //
1790
+ // S16 introduced this seeding for provider-limit parks only and recorded
1791
+ // the narrow scope as deliberate. Widening it is the whole repair: the
1792
+ // mechanism is unchanged and already proven by the provider-limit path, so
1793
+ // this adds no scheduler and no per-wake bookkeeping.
1794
+ jobsRepo.recordEvaluation(job.jobId, job.registeredAt, false);
1737
1795
  parkWake = { kind: "timer", ref: job.jobId };
1738
1796
  }
1739
1797
  else if (input.state === "blocked" && effectiveBlockedOn?.startsWith("qitem-")) {
@@ -1785,6 +1843,22 @@ export class QueueRepository {
1785
1843
  ownerNotificationLevel: notification?.level,
1786
1844
  });
1787
1845
  if (parkWake) {
1846
+ // OPR.0.5.8.1 S1b addendum — A NEW PARK EPISODE SUPERSEDES THE OLD.
1847
+ // Re-parking (blocked -> blocked with a fresh --wake-after) used to arm a
1848
+ // second job while the first stayed active, leaving two live timers on one
1849
+ // row: the third repeat-fire route, alongside the never-stopped fire and
1850
+ // the row-outliving timer.
1851
+ //
1852
+ // Read BEFORE recording the new armed row: getStatus returns the most
1853
+ // recent armed wake, so after the record below it would return the one we
1854
+ // are arming now rather than the one being superseded.
1855
+ //
1856
+ // Deliberately not gated on the previous state. The live+timer test is the
1857
+ // real safety, and leaving it ungated also cleans up a stale park-generated
1858
+ // timer left by any path that did not unpark cleanly. It cannot over-reach:
1859
+ // a job already terminal fails `live`, and an operator's attached watchdog
1860
+ // fails the kind test.
1861
+ this.retireParkGeneratedTimer(input.qitemId, "park_superseded");
1788
1862
  this.wakeRepo.record({
1789
1863
  transitionId: transition.transitionId,
1790
1864
  qitemId: input.qitemId,
@@ -1794,6 +1868,25 @@ export class QueueRepository {
1794
1868
  deliveryStatus: null,
1795
1869
  });
1796
1870
  }
1871
+ else if (fromState === "blocked" && input.state !== "blocked") {
1872
+ // OPR.0.5.8.1 S1b — a park-generated timer is bound to the PARK EPISODE.
1873
+ // Leaving `blocked` ends it, so a wake can never arrive telling a seat to
1874
+ // resume a row that is no longer parked. Specimen: job
1875
+ // 01M1E6F3QG41N76Y1CDX48P766 fired at 10:18:07Z for a row that went
1876
+ // handed-off at 10:02:03Z — sixteen minutes terminal, and the wake still
1877
+ // said "resume the recorded continuation".
1878
+ //
1879
+ // Stopping AT THE TRANSITION rather than checking row state at fire time,
1880
+ // because the fire path delivers before it consults the queue at all:
1881
+ // `recordWatchdogWakeAttempt` runs after delivery and merely returns early
1882
+ // when the row is gone, so a check there would audit a wake that had
1883
+ // already been sent.
1884
+ //
1885
+ // ONLY kind === "timer" is stopped. Those jobs are generated by this park
1886
+ // and owned by it. A watchdog the operator attached with --wake-watchdog
1887
+ // (kind "watchdog") is theirs, may target other rows, and must survive.
1888
+ this.retireParkGeneratedTimer(input.qitemId, `park_ended:${input.state}`);
1889
+ }
1797
1890
  // 0.5.1-53 Atom 1b(iii) — propagate-completion. blocked_on PROMISES "A waits until B completes";
1798
1891
  // that promise never fired on this runtime (rows sat blocked on done/canceled blockers for days).
1799
1892
  // When THIS qitem reaches a terminal state, auto-unpark every row parked on it (blocked_on = this,
@@ -1828,6 +1921,30 @@ export class QueueRepository {
1828
1921
  * call it inside their own transactions. The class this unifies away was
1829
1922
  * per-code-path: the handoff verbs wrote terminal states via direct SQL and the
1830
1923
  * promise never fired for them. Never a second copy of this logic. */
1924
+ /**
1925
+ * OPR.0.5.8.1 S1b — retire the timer a park generated for this row.
1926
+ *
1927
+ * THE SINGLE PLACE THIS DECISION IS MADE. `queue_items.state` is written by
1928
+ * SIX methods, not one, and the first version of this repair only hooked the
1929
+ * generic `updateInTransactionalContext`. Every other writer silently kept the
1930
+ * timer alive — including `handoff()`, which is the exact route that produced
1931
+ * the motivating specimen (review50-r2 found that one; enumerating the rest
1932
+ * found `claim()` and `propagateBlockerCompletion()` too, and `claim()` is the
1933
+ * "claim-resume" the story contract named explicitly).
1934
+ *
1935
+ * Callers must invoke this inside their own state-transition transaction, so a
1936
+ * row can never be observed out of its park with a live park timer.
1937
+ *
1938
+ * Only park-GENERATED timers are retired. A watchdog the operator attached with
1939
+ * `--wake-watchdog` is theirs, may target other rows, and always survives.
1940
+ * Non-live jobs are left alone, so calling this twice is harmless.
1941
+ */
1942
+ retireParkGeneratedTimer(qitemId, reason) {
1943
+ const armed = this.wakeRepo.getStatus(qitemId);
1944
+ if (armed?.kind !== "timer" || !armed.live)
1945
+ return;
1946
+ (this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db)).markTerminal(armed.ref, reason);
1947
+ }
1831
1948
  propagateBlockerCompletion(input) {
1832
1949
  const dependentEvents = [];
1833
1950
  const blockedRows = this.db
@@ -1843,6 +1960,11 @@ export class QueueRepository {
1843
1960
  actorSession: input.actorSession,
1844
1961
  transitionNote: `auto-unparked: blocker ${input.qitemId} reached terminal state '${input.terminalState}'`,
1845
1962
  });
1963
+ // OPR.0.5.8.1 S1b — AUTO-UNPARK. A row parked with `--on X --wake-after 20m`
1964
+ // carries BOTH a blocker and a timer; when X completes this unparks the row
1965
+ // directly, so without this the blocker did its job and the timer still fired
1966
+ // afterwards at a row that was no longer parked.
1967
+ this.retireParkGeneratedTimer(r.qitem_id, "park_ended:auto-unparked");
1846
1968
  const wakeIntentId = this.stageAutoUnparkWakeIntent({
1847
1969
  qitemId: r.qitem_id,
1848
1970
  destinationSession: r.destination_session,
@@ -1871,12 +1993,38 @@ export class QueueRepository {
1871
1993
  getParkWakeStatus(qitemId) {
1872
1994
  return this.wakeRepo.getStatus(qitemId);
1873
1995
  }
1996
+ /** Refuse a legacy park-generated timer only when every row bound to it is
1997
+ * terminal. Current exits retire these timers transactionally; this is the
1998
+ * delivery-seam backstop for residue persisted by an older daemon. A timer
1999
+ * still bound to any actionable row, and every operator-attached watchdog,
2000
+ * remains deliverable. */
2001
+ resolveWatchdogPreDeliveryTerminalReason(jobId) {
2002
+ const targets = this.wakeRepo.findQitemsByGeneratedTimer(jobId);
2003
+ if (targets.length === 0 || targets.some(({ state }) => !isTerminalState(state)))
2004
+ return null;
2005
+ // Ownership, not just staleness. This backstop may retire a job only when
2006
+ // the job is SOLELY a park-generated timer. `--wake-watchdog` can attach an
2007
+ // operator row to the very job another row's `--wake-after` produced, and
2008
+ // that is a supported path — so a shared job carries a second, watchdog-kind
2009
+ // binding this reason has no authority over. The timer's rows being terminal
2010
+ // says nothing about the attachment; claiming the job anyway terminals it
2011
+ // before transport and the attachment can never wake.
2012
+ if (this.wakeRepo.findQitemsByAttachedWatchdog(jobId).length > 0)
2013
+ return null;
2014
+ return "park_timer_target_terminal";
2015
+ }
1874
2016
  listTransitions(qitemId) {
1875
2017
  return this.transitionLog.listForQitem(qitemId).map((transition) => {
1876
2018
  const wake = this.wakeRepo.getForTransition(transition.transitionId);
1877
2019
  return wake ? { ...transition, wake } : transition;
1878
2020
  });
1879
2021
  }
2022
+ /** Read-only scope-aware RECENT projection. Normalization and its hard cap
2023
+ * live with the append-only transition log; the repository owns the public
2024
+ * queue-domain door. */
2025
+ listRecentTransitions(scope, limit = 20) {
2026
+ return this.transitionLog.listRecent(typeof scope === "string" ? { kind: "rig", rig: scope } : scope, limit);
2027
+ }
1880
2028
  /** Called by the watchdog engine after the delivery attempt is durably
1881
2029
  * audited. The queue transition records that attempt independently of
1882
2030
  * whether the HELD row's owner consumed it. */
@@ -1911,10 +2059,23 @@ export class QueueRepository {
1911
2059
  });
1912
2060
  };
1913
2061
  const usageLimitBlockers = targets.filter(({ qitemId }) => this.getById(qitemId)?.tags?.includes(USAGE_LIMIT_BLOCKER_TAG));
2062
+ // OPR.0.5.8.1 S1b — a park-generated timer is ONE-SHOT. `periodic-reminder`
2063
+ // repeats every intervalSeconds forever, so an unstopped park timer wakes its
2064
+ // owner again at +2 intervals, +3, indefinitely.
2065
+ //
2066
+ // The provider-limit path below already ends its job after firing; that
2067
+ // behaviour is UNCHANGED by this repair and pinned as unchanged. This widens
2068
+ // the same act to ordinary park timers, without their blocker resolution —
2069
+ // resolving the blocker is a provider-limit outcome, not a timer one.
2070
+ const parkGeneratedTimer = targets.some(({ kind }) => kind === "timer");
1914
2071
  const events = this.db.transaction(() => {
1915
2072
  const firedEvents = targets.map(recordFired);
1916
- if (usageLimitBlockers.length === 0)
2073
+ if (usageLimitBlockers.length === 0) {
2074
+ if (parkGeneratedTimer) {
2075
+ (this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db)).markTerminal(jobId, "park_timer_fired_once");
2076
+ }
1917
2077
  return firedEvents;
2078
+ }
1918
2079
  (this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db)).markTerminal(jobId, "usage_limit_expiry_fired");
1919
2080
  const resolutionEvents = usageLimitBlockers.flatMap(({ qitemId }) => this.updateInTransactionalContext({
1920
2081
  qitemId,