@openrig/cli 0.5.5 → 0.5.7

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 (915) hide show
  1. package/daemon/assets/continuity/apprentice-cutover.md +19 -0
  2. package/daemon/assets/continuity/apprentice-prepare.md +17 -0
  3. package/daemon/assets/plugins/openrig-core/README.md +1 -1
  4. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +81 -4
  5. package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +3 -3
  6. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +0 -0
  7. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
  8. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +4 -9
  9. package/daemon/assets/plugins/openrig-core/skills/loading-addressable-markdown/SKILL.md +34 -0
  10. package/daemon/assets/plugins/openrig-core/skills/loading-addressable-markdown/scripts/resolve-markdown.mjs +170 -0
  11. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +82 -118
  12. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +24 -25
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +5 -12
  14. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/compose.py +36 -117
  15. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +10 -10
  16. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +1 -12
  17. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +1 -1
  18. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +15 -0
  19. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +4 -16
  20. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +50 -7
  21. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +26 -6
  22. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +3 -0
  23. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/apprentice-evidence-toolkit.md +32 -0
  24. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/apprentice-successor-seat-cutover.md +256 -0
  25. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/orchestrator-role.md +40 -0
  26. package/daemon/assets/vm-preview-fixtures/README.md +16 -38
  27. package/daemon/assets/vm-preview-fixtures/workflows/sample-basic-loop.yaml +7 -8
  28. package/daemon/context-packs/onboarding-width/manifest.yaml +4 -1
  29. package/daemon/context-packs/onboarding-width/public-reference-material.md +1 -1
  30. package/daemon/context-packs/skills/applying-a-permission-policy/SKILL.md +120 -0
  31. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +10 -0
  32. package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +166 -0
  33. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +18 -0
  34. package/daemon/context-packs/skills/claude-compaction-restore/scripts/precompact-hook.mjs +174 -0
  35. package/daemon/context-packs/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +487 -0
  36. package/daemon/context-packs/skills/claude-compaction-restore/templates/compact-instruction.md +1 -0
  37. package/daemon/context-packs/skills/claude-compaction-restore/templates/post-compact-restore-instruction.md +1 -0
  38. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +2 -1
  39. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +2 -1
  40. package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +6 -13
  41. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +2 -1
  42. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +2 -1
  43. package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +98 -0
  44. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +10 -0
  45. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +2 -1
  46. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +2 -1
  47. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +2 -1
  48. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +115 -0
  49. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +10 -0
  50. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +19 -75
  51. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +2 -1
  52. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +2 -1
  53. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +2 -1
  54. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +2 -1
  55. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +2 -1
  56. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +2 -1
  57. package/daemon/context-packs/skills/core/watchdog/SKILL.md +4 -10
  58. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +2 -1
  59. package/daemon/context-packs/skills/delegating-work/SKILL.md +43 -0
  60. package/daemon/context-packs/skills/delegating-work/manifest.yaml +10 -0
  61. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +318 -0
  62. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +10 -0
  63. package/daemon/context-packs/skills/loading-addressable-markdown/SKILL.md +34 -0
  64. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +12 -0
  65. package/daemon/context-packs/skills/loading-addressable-markdown/scripts/resolve-markdown.mjs +170 -0
  66. package/daemon/context-packs/skills/mission-slice-sop/SKILL.md +94 -0
  67. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +10 -0
  68. package/daemon/context-packs/skills/openrig-operating-model/SKILL.md +397 -0
  69. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +30 -0
  70. package/daemon/context-packs/skills/openrig-operating-model/scripts/compose.py +572 -0
  71. package/daemon/context-packs/skills/openrig-operating-model/scripts/scaffold.sh +34 -0
  72. package/daemon/context-packs/skills/openrig-operating-model/scripts/trace-due.sh +32 -0
  73. package/daemon/context-packs/skills/openrig-operating-model/scripts/trace-stamp.sh +5 -0
  74. package/daemon/context-packs/skills/openrig-operating-model/scripts/trunk-diff.sh +18 -0
  75. package/daemon/context-packs/skills/openrig-operating-model/templates/LEARNED.md +40 -0
  76. package/daemon/context-packs/skills/openrig-operating-model/templates/NOTES.md +9 -0
  77. package/daemon/context-packs/skills/openrig-operating-model/templates/PLAYBOOK.md +5 -0
  78. package/daemon/context-packs/skills/openrig-operating-model/templates/SOP.md +24 -0
  79. package/daemon/context-packs/skills/openrig-operating-model/templates/SPEC.md +54 -0
  80. package/daemon/context-packs/skills/openrig-user/SKILL.md +1374 -0
  81. package/daemon/context-packs/skills/openrig-user/manifest.yaml +10 -0
  82. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/CHANGELOG.md +64 -0
  83. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/SKILL.md +250 -0
  84. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +12 -0
  85. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +2 -1
  86. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +2 -1
  87. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +2 -1
  88. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +2 -1
  89. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +2 -1
  90. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +2 -1
  91. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +2 -1
  92. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +2 -1
  93. package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +1 -1
  94. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +2 -1
  95. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +2 -1
  96. package/daemon/context-packs/skills/pods/review-team/SKILL.md +1 -1
  97. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +2 -1
  98. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +2 -1
  99. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +2 -1
  100. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +2 -1
  101. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +2 -1
  102. package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +0 -0
  103. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +2 -1
  104. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +2 -1
  105. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +2 -1
  106. package/daemon/context-packs/skills/queue-handoff/SKILL.md +192 -0
  107. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +10 -0
  108. package/daemon/context-packs/skills/refocusing/SKILL.md +31 -0
  109. package/daemon/context-packs/skills/refocusing/manifest.yaml +14 -0
  110. package/daemon/context-packs/skills/refocusing/references/refocus.md +22 -0
  111. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +264 -0
  112. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/CHANGELOG.md +48 -0
  113. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/SKILL.md +231 -0
  114. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +12 -0
  115. package/daemon/context-packs/skills/seat-continuity-and-handover/SKILL.md +151 -0
  116. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +16 -0
  117. package/daemon/context-packs/skills/seat-continuity-and-handover/references/apprentice-evidence-toolkit.md +32 -0
  118. package/daemon/context-packs/skills/seat-continuity-and-handover/references/apprentice-successor-seat-cutover.md +256 -0
  119. package/daemon/context-packs/skills/seat-continuity-and-handover/references/orchestrator-role.md +40 -0
  120. package/daemon/context-packs/skills/session-compaction-and-restore/SKILL.md +163 -0
  121. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +10 -0
  122. package/daemon/context-packs/skills/software-for-agents/SKILL.md +187 -0
  123. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +10 -0
  124. package/daemon/context-packs/world-example/manifest.yaml +15 -2
  125. package/daemon/context-packs/world-example/your-world.md +19 -2
  126. package/daemon/context-packs/world-public/boundaries.md +33 -0
  127. package/daemon/context-packs/world-public/build-your-world.md +84 -0
  128. package/daemon/context-packs/world-public/claims.yaml +205 -0
  129. package/daemon/context-packs/world-public/manifest.yaml +59 -0
  130. package/daemon/context-packs/world-public/start-here.md +51 -0
  131. package/daemon/context-packs/world-public/verify-world.sh +522 -0
  132. package/daemon/dist/build-info.js +3 -3
  133. package/daemon/dist/builtins/workflow-specs/basic-loop.yaml +3 -3
  134. package/daemon/dist/builtins/workflow-specs/conveyor.yaml +1 -1
  135. package/daemon/dist/builtins/workflow-specs/factory-rsi.yaml +1 -1
  136. package/daemon/dist/context-pack-taxonomy-surface.d.ts +2 -0
  137. package/daemon/dist/context-pack-taxonomy-surface.d.ts.map +1 -0
  138. package/daemon/dist/context-pack-taxonomy-surface.js +6 -0
  139. package/daemon/dist/context-pack-taxonomy-surface.js.map +1 -0
  140. package/daemon/dist/db/all-migrations.d.ts +1 -1
  141. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  142. package/daemon/dist/db/all-migrations.js +10 -2
  143. package/daemon/dist/db/all-migrations.js.map +1 -1
  144. package/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts +4 -0
  145. package/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts.map +1 -0
  146. package/daemon/dist/db/migrations/074_context_usage_watchdog.js +11 -0
  147. package/daemon/dist/db/migrations/074_context_usage_watchdog.js.map +1 -0
  148. package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts +4 -0
  149. package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts.map +1 -0
  150. package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js +8 -0
  151. package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js.map +1 -0
  152. package/daemon/dist/db/migrations/076_owner_notification_levels.d.ts +8 -0
  153. package/daemon/dist/db/migrations/076_owner_notification_levels.d.ts.map +1 -0
  154. package/daemon/dist/db/migrations/076_owner_notification_levels.js +15 -0
  155. package/daemon/dist/db/migrations/076_owner_notification_levels.js.map +1 -0
  156. package/daemon/dist/db/migrations/077_node_session_source.d.ts +4 -0
  157. package/daemon/dist/db/migrations/077_node_session_source.d.ts.map +1 -0
  158. package/daemon/dist/db/migrations/077_node_session_source.js +6 -0
  159. package/daemon/dist/db/migrations/077_node_session_source.js.map +1 -0
  160. package/daemon/dist/domain/active-occupant.d.ts +44 -0
  161. package/daemon/dist/domain/active-occupant.d.ts.map +1 -0
  162. package/daemon/dist/domain/active-occupant.js +72 -0
  163. package/daemon/dist/domain/active-occupant.js.map +1 -0
  164. package/daemon/dist/domain/agent-manifest.d.ts +6 -0
  165. package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
  166. package/daemon/dist/domain/agent-manifest.js +77 -15
  167. package/daemon/dist/domain/agent-manifest.js.map +1 -1
  168. package/daemon/dist/domain/agent-resolver.d.ts +11 -0
  169. package/daemon/dist/domain/agent-resolver.d.ts.map +1 -1
  170. package/daemon/dist/domain/agent-resolver.js +55 -0
  171. package/daemon/dist/domain/agent-resolver.js.map +1 -1
  172. package/daemon/dist/domain/bundle-context-packs-router.d.ts +9 -2
  173. package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  174. package/daemon/dist/domain/bundle-context-packs-router.js +18 -0
  175. package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
  176. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +7 -0
  177. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  178. package/daemon/dist/domain/claude-compaction-enforcer.js +10 -0
  179. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  180. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  181. package/daemon/dist/domain/context-packs/context-pack-library-service.js +7 -0
  182. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  183. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +11 -0
  184. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  185. package/daemon/dist/domain/context-packs/context-pack-types.js +11 -0
  186. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  187. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  188. package/daemon/dist/domain/context-packs/manifest-parser.js +18 -7
  189. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  190. package/daemon/dist/domain/context-packs/profile-composer.d.ts +1 -1
  191. package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
  192. package/daemon/dist/domain/context-packs/profile-composer.js +2 -2
  193. package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
  194. package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +3 -1
  195. package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -1
  196. package/daemon/dist/domain/context-packs/profile-source-resolver.js +3 -2
  197. package/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -1
  198. package/daemon/dist/domain/continuity-policy-materializer.d.ts +88 -0
  199. package/daemon/dist/domain/continuity-policy-materializer.d.ts.map +1 -0
  200. package/daemon/dist/domain/continuity-policy-materializer.js +290 -0
  201. package/daemon/dist/domain/continuity-policy-materializer.js.map +1 -0
  202. package/daemon/dist/domain/continuity-stack-packets.d.ts +65 -0
  203. package/daemon/dist/domain/continuity-stack-packets.d.ts.map +1 -0
  204. package/daemon/dist/domain/continuity-stack-packets.js +99 -0
  205. package/daemon/dist/domain/continuity-stack-packets.js.map +1 -0
  206. package/daemon/dist/domain/execution-view.d.ts +39 -0
  207. package/daemon/dist/domain/execution-view.d.ts.map +1 -0
  208. package/daemon/dist/domain/execution-view.js +707 -0
  209. package/daemon/dist/domain/execution-view.js.map +1 -0
  210. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +60 -0
  211. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -0
  212. package/daemon/dist/domain/gateway/delivery-rules-engine.js +144 -0
  213. package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -0
  214. package/daemon/dist/domain/gateway/destination-resolver.d.ts +20 -0
  215. package/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -0
  216. package/daemon/dist/domain/gateway/destination-resolver.js +52 -0
  217. package/daemon/dist/domain/gateway/destination-resolver.js.map +1 -0
  218. package/daemon/dist/domain/gateway/dispatcher.d.ts +3 -1
  219. package/daemon/dist/domain/gateway/dispatcher.d.ts.map +1 -1
  220. package/daemon/dist/domain/gateway/dispatcher.js +9 -2
  221. package/daemon/dist/domain/gateway/dispatcher.js.map +1 -1
  222. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +6 -2
  223. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  224. package/daemon/dist/domain/gateway/gateway-subsystem.js +5 -3
  225. package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  226. package/daemon/dist/domain/gateway/human-registry.d.ts +9 -1
  227. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  228. package/daemon/dist/domain/gateway/human-registry.js +32 -1
  229. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  230. package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +32 -0
  231. package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -0
  232. package/daemon/dist/domain/gateway/operator-delivery-engine.js +86 -0
  233. package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -0
  234. package/daemon/dist/domain/gateway/slack/config.d.ts +3 -2
  235. package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
  236. package/daemon/dist/domain/gateway/slack/config.js +20 -4
  237. package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
  238. package/daemon/dist/domain/gateway/slack/inbound.d.ts +34 -6
  239. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  240. package/daemon/dist/domain/gateway/slack/inbound.js +60 -9
  241. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  242. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
  243. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  244. package/daemon/dist/domain/gateway/slack/outbound-driver.js +12 -5
  245. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  246. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +10 -5
  247. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  248. package/daemon/dist/domain/gateway/slack/queue-access.js +46 -19
  249. package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
  250. package/daemon/dist/domain/gateway/slack/slack-api.d.ts +29 -6
  251. package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
  252. package/daemon/dist/domain/gateway/slack/slack-api.js +41 -3
  253. package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
  254. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +9 -3
  255. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  256. package/daemon/dist/domain/gateway/slack/slack-delivery.js +132 -12
  257. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  258. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +10 -0
  259. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  260. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +286 -11
  261. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  262. package/daemon/dist/domain/graph-projection.d.ts +6 -0
  263. package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
  264. package/daemon/dist/domain/graph-projection.js +6 -0
  265. package/daemon/dist/domain/graph-projection.js.map +1 -1
  266. package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
  267. package/daemon/dist/domain/mission-control/mission-control-write-contract.js +1 -0
  268. package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
  269. package/daemon/dist/domain/node-inventory.d.ts +41 -3
  270. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  271. package/daemon/dist/domain/node-inventory.js +45 -48
  272. package/daemon/dist/domain/node-inventory.js.map +1 -1
  273. package/daemon/dist/domain/parked-query.d.ts +1 -0
  274. package/daemon/dist/domain/parked-query.d.ts.map +1 -1
  275. package/daemon/dist/domain/parked-query.js +1 -0
  276. package/daemon/dist/domain/parked-query.js.map +1 -1
  277. package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
  278. package/daemon/dist/domain/pod-bundle-assembler.js +12 -5
  279. package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
  280. package/daemon/dist/domain/policies/context-usage-threshold.d.ts +7 -0
  281. package/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +1 -0
  282. package/daemon/dist/domain/policies/context-usage-threshold.js +99 -0
  283. package/daemon/dist/domain/policies/context-usage-threshold.js.map +1 -0
  284. package/daemon/dist/domain/policies/delivery-deferral.d.ts +54 -0
  285. package/daemon/dist/domain/policies/delivery-deferral.d.ts.map +1 -0
  286. package/daemon/dist/domain/policies/delivery-deferral.js +153 -0
  287. package/daemon/dist/domain/policies/delivery-deferral.js.map +1 -0
  288. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +45 -0
  289. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -0
  290. package/daemon/dist/domain/policies/delivery-digest-flush.js +94 -0
  291. package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -0
  292. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +65 -0
  293. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -0
  294. package/daemon/dist/domain/policies/parked-owner-consumer.js +244 -0
  295. package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -0
  296. package/daemon/dist/domain/policies/types.d.ts +8 -0
  297. package/daemon/dist/domain/policies/types.d.ts.map +1 -1
  298. package/daemon/dist/domain/profile-resolver.d.ts +4 -0
  299. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  300. package/daemon/dist/domain/profile-resolver.js +58 -0
  301. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  302. package/daemon/dist/domain/provider/provider-signals.d.ts +20 -1
  303. package/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -1
  304. package/daemon/dist/domain/provider/provider-signals.js +64 -0
  305. package/daemon/dist/domain/provider/provider-signals.js.map +1 -1
  306. package/daemon/dist/domain/ps-projection.d.ts +7 -5
  307. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  308. package/daemon/dist/domain/ps-projection.js +19 -32
  309. package/daemon/dist/domain/ps-projection.js.map +1 -1
  310. package/daemon/dist/domain/queue-pickup.d.ts.map +1 -1
  311. package/daemon/dist/domain/queue-pickup.js +5 -0
  312. package/daemon/dist/domain/queue-pickup.js.map +1 -1
  313. package/daemon/dist/domain/queue-repository.d.ts +55 -18
  314. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  315. package/daemon/dist/domain/queue-repository.js +387 -83
  316. package/daemon/dist/domain/queue-repository.js.map +1 -1
  317. package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  318. package/daemon/dist/domain/queue-retention.js +8 -2
  319. package/daemon/dist/domain/queue-retention.js.map +1 -1
  320. package/daemon/dist/domain/queue-stuck-sweep.d.ts +24 -1
  321. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  322. package/daemon/dist/domain/queue-stuck-sweep.js +161 -24
  323. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  324. package/daemon/dist/domain/queue-transition-log.d.ts +10 -0
  325. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  326. package/daemon/dist/domain/queue-transition-log.js +49 -11
  327. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  328. package/daemon/dist/domain/queue-wake-ladder.d.ts +20 -2
  329. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  330. package/daemon/dist/domain/queue-wake-ladder.js +187 -15
  331. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  332. package/daemon/dist/domain/queue-wake-repository.d.ts +16 -0
  333. package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
  334. package/daemon/dist/domain/queue-wake-repository.js +52 -3
  335. package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
  336. package/daemon/dist/domain/restore-check-service.js +1 -1
  337. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  338. package/daemon/dist/domain/restore-orchestrator.d.ts +2 -1
  339. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  340. package/daemon/dist/domain/restore-orchestrator.js +88 -15
  341. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  342. package/daemon/dist/domain/restore-plan-preview.d.ts +6 -2
  343. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  344. package/daemon/dist/domain/restore-plan-preview.js +37 -19
  345. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  346. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  347. package/daemon/dist/domain/rig-expansion-service.js +10 -9
  348. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  349. package/daemon/dist/domain/rig-lifecycle-service.d.ts +24 -4
  350. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  351. package/daemon/dist/domain/rig-lifecycle-service.js +116 -6
  352. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  353. package/daemon/dist/domain/rig-repository.d.ts +6 -1
  354. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  355. package/daemon/dist/domain/rig-repository.js +28 -3
  356. package/daemon/dist/domain/rig-repository.js.map +1 -1
  357. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  358. package/daemon/dist/domain/rigspec-codec.js +74 -4
  359. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  360. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  361. package/daemon/dist/domain/rigspec-exporter.js +2 -0
  362. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  363. package/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
  364. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  365. package/daemon/dist/domain/rigspec-instantiator.js +16 -0
  366. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  367. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  368. package/daemon/dist/domain/rigspec-schema.js +32 -4
  369. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  370. package/daemon/dist/domain/scope/node-file.d.ts +8 -0
  371. package/daemon/dist/domain/scope/node-file.d.ts.map +1 -1
  372. package/daemon/dist/domain/scope/node-file.js +18 -0
  373. package/daemon/dist/domain/scope/node-file.js.map +1 -1
  374. package/daemon/dist/domain/scope/scope-audit.d.ts +5 -2
  375. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  376. package/daemon/dist/domain/scope/scope-audit.js +3 -3
  377. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  378. package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
  379. package/daemon/dist/domain/snapshot-capture.js +6 -0
  380. package/daemon/dist/domain/snapshot-capture.js.map +1 -1
  381. package/daemon/dist/domain/types.d.ts +28 -4
  382. package/daemon/dist/domain/types.d.ts.map +1 -1
  383. package/daemon/dist/domain/types.js.map +1 -1
  384. package/daemon/dist/domain/view-projector.d.ts +5 -1
  385. package/daemon/dist/domain/view-projector.d.ts.map +1 -1
  386. package/daemon/dist/domain/view-projector.js +24 -0
  387. package/daemon/dist/domain/view-projector.js.map +1 -1
  388. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +25 -6
  389. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  390. package/daemon/dist/domain/watchdog-jobs-repository.js +115 -32
  391. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  392. package/daemon/dist/domain/watchdog-policy-engine.d.ts +40 -1
  393. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  394. package/daemon/dist/domain/watchdog-policy-engine.js +112 -6
  395. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  396. package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
  397. package/daemon/dist/domain/watchdog-scheduler.js +3 -2
  398. package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
  399. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  400. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +37 -2
  401. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  402. package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  403. package/daemon/dist/domain/workspace/workspace-doctor.js +2 -4
  404. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  405. package/daemon/dist/index.d.ts +9 -0
  406. package/daemon/dist/index.d.ts.map +1 -1
  407. package/daemon/dist/index.js +24 -1
  408. package/daemon/dist/index.js.map +1 -1
  409. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  410. package/daemon/dist/routes/agent-images.js +9 -0
  411. package/daemon/dist/routes/agent-images.js.map +1 -1
  412. package/daemon/dist/routes/bundles.d.ts.map +1 -1
  413. package/daemon/dist/routes/bundles.js +61 -1
  414. package/daemon/dist/routes/bundles.js.map +1 -1
  415. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  416. package/daemon/dist/routes/context-packs.js +146 -6
  417. package/daemon/dist/routes/context-packs.js.map +1 -1
  418. package/daemon/dist/routes/gateway.js +1 -1
  419. package/daemon/dist/routes/gateway.js.map +1 -1
  420. package/daemon/dist/routes/queue.d.ts.map +1 -1
  421. package/daemon/dist/routes/queue.js +22 -11
  422. package/daemon/dist/routes/queue.js.map +1 -1
  423. package/daemon/dist/routes/rigs.js +45 -5
  424. package/daemon/dist/routes/rigs.js.map +1 -1
  425. package/daemon/dist/routes/scope-audit.js +6 -6
  426. package/daemon/dist/routes/scope-audit.js.map +1 -1
  427. package/daemon/dist/routes/sessions.js +7 -3
  428. package/daemon/dist/routes/sessions.js.map +1 -1
  429. package/daemon/dist/routes/views.d.ts.map +1 -1
  430. package/daemon/dist/routes/views.js +4 -1
  431. package/daemon/dist/routes/views.js.map +1 -1
  432. package/daemon/dist/routes/watchdog.d.ts.map +1 -1
  433. package/daemon/dist/routes/watchdog.js +40 -3
  434. package/daemon/dist/routes/watchdog.js.map +1 -1
  435. package/daemon/dist/server.d.ts.map +1 -1
  436. package/daemon/dist/server.js +5 -0
  437. package/daemon/dist/server.js.map +1 -1
  438. package/daemon/dist/startup.d.ts.map +1 -1
  439. package/daemon/dist/startup.js +197 -6
  440. package/daemon/dist/startup.js.map +1 -1
  441. package/daemon/docs/reference/agent-spec.md +5 -5
  442. package/daemon/docs/reference/agent-state-taxonomy.md +8 -13
  443. package/daemon/docs/reference/chain-file-convention.md +2 -2
  444. package/daemon/docs/reference/knowledge-maturity.md +123 -0
  445. package/daemon/docs/reference/lore-routing.md +173 -0
  446. package/daemon/docs/reference/mission-install.md +215 -0
  447. package/daemon/docs/reference/planning-dial.md +55 -0
  448. package/daemon/docs/reference/product-journey-sdlc.md +305 -0
  449. package/daemon/docs/reference/product-management-pass.md +139 -0
  450. package/daemon/docs/reference/release-boundary.md +88 -0
  451. package/daemon/docs/reference/sdlc-conventions.md +49 -69
  452. package/daemon/docs/reference/wave-sdlc.md +113 -0
  453. package/daemon/policies/builtin/standard.policy.md +3 -3
  454. package/daemon/policies/builtin/yolo.policy.md +7 -2
  455. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +1 -1
  456. package/daemon/specs/agents/apps/vault-specialist/guidance/role.md +0 -1
  457. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -1
  458. package/daemon/specs/agents/conveyor/builder/guidance/role.md +0 -1
  459. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -1
  460. package/daemon/specs/agents/conveyor/lead/guidance/role.md +0 -3
  461. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -1
  462. package/daemon/specs/agents/conveyor/planner/guidance/role.md +0 -1
  463. package/daemon/specs/agents/design/product-designer/agent.yaml +3 -4
  464. package/daemon/specs/agents/design/product-designer/guidance/role.md +0 -3
  465. package/daemon/specs/agents/development/implementer/agent.yaml +3 -4
  466. package/daemon/specs/agents/development/implementer/guidance/role.md +0 -3
  467. package/daemon/specs/agents/development/qa/agent.yaml +4 -4
  468. package/daemon/specs/agents/development/qa/guidance/role.md +1 -4
  469. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +1 -1
  470. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +1 -1
  471. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +3 -4
  472. package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +0 -4
  473. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +3 -4
  474. package/daemon/specs/agents/review/independent-reviewer/guidance/role.md +0 -3
  475. package/daemon/specs/agents/shared/agent.yaml +2 -10
  476. package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +6 -13
  477. package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +98 -0
  478. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +115 -0
  479. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +19 -75
  480. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +4 -10
  481. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +1 -1
  482. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +1 -1
  483. package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
  484. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +1 -1
  485. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +4 -5
  486. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +3 -3
  487. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -3
  488. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +1 -1
  489. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/startup/context.md +1 -1
  490. package/daemon/substance-surfaces.json +8 -0
  491. package/dist/build-info.js +3 -3
  492. package/dist/commands/broadcast.d.ts.map +1 -1
  493. package/dist/commands/broadcast.js +6 -1
  494. package/dist/commands/broadcast.js.map +1 -1
  495. package/dist/commands/capture.js +1 -1
  496. package/dist/commands/config-init-workspace.d.ts.map +1 -1
  497. package/dist/commands/config-init-workspace.js +38 -3
  498. package/dist/commands/config-init-workspace.js.map +1 -1
  499. package/dist/commands/context.d.ts.map +1 -1
  500. package/dist/commands/context.js +49 -1
  501. package/dist/commands/context.js.map +1 -1
  502. package/dist/commands/create.d.ts +4 -0
  503. package/dist/commands/create.d.ts.map +1 -0
  504. package/dist/commands/create.js +84 -0
  505. package/dist/commands/create.js.map +1 -0
  506. package/dist/commands/expand.d.ts.map +1 -1
  507. package/dist/commands/expand.js +9 -13
  508. package/dist/commands/expand.js.map +1 -1
  509. package/dist/commands/grow.d.ts +4 -0
  510. package/dist/commands/grow.d.ts.map +1 -0
  511. package/dist/commands/grow.js +182 -0
  512. package/dist/commands/grow.js.map +1 -0
  513. package/dist/commands/ps.d.ts +4 -0
  514. package/dist/commands/ps.d.ts.map +1 -1
  515. package/dist/commands/ps.js +15 -7
  516. package/dist/commands/ps.js.map +1 -1
  517. package/dist/commands/remove.d.ts.map +1 -1
  518. package/dist/commands/remove.js +9 -1
  519. package/dist/commands/remove.js.map +1 -1
  520. package/dist/commands/rig.d.ts.map +1 -1
  521. package/dist/commands/rig.js +48 -1
  522. package/dist/commands/rig.js.map +1 -1
  523. package/dist/commands/scope.d.ts.map +1 -1
  524. package/dist/commands/scope.js +61 -13
  525. package/dist/commands/scope.js.map +1 -1
  526. package/dist/commands/send.d.ts +2 -0
  527. package/dist/commands/send.d.ts.map +1 -1
  528. package/dist/commands/send.js +24 -2
  529. package/dist/commands/send.js.map +1 -1
  530. package/dist/commands/shrink.d.ts.map +1 -1
  531. package/dist/commands/shrink.js +6 -1
  532. package/dist/commands/shrink.js.map +1 -1
  533. package/dist/commands/slack.d.ts.map +1 -1
  534. package/dist/commands/slack.js +4 -2
  535. package/dist/commands/slack.js.map +1 -1
  536. package/dist/commands/topology-default-agent.d.ts +4 -0
  537. package/dist/commands/topology-default-agent.d.ts.map +1 -0
  538. package/dist/commands/topology-default-agent.js +13 -0
  539. package/dist/commands/topology-default-agent.js.map +1 -0
  540. package/dist/commands/view.d.ts.map +1 -1
  541. package/dist/commands/view.js +3 -0
  542. package/dist/commands/view.js.map +1 -1
  543. package/dist/commands/walk.d.ts.map +1 -1
  544. package/dist/commands/walk.js +3 -0
  545. package/dist/commands/walk.js.map +1 -1
  546. package/dist/commands/watchdog.d.ts.map +1 -1
  547. package/dist/commands/watchdog.js +64 -9
  548. package/dist/commands/watchdog.js.map +1 -1
  549. package/dist/cross-host-target.js +1 -1
  550. package/dist/cross-host-target.js.map +1 -1
  551. package/dist/host-registry.d.ts +2 -2
  552. package/dist/host-registry.js +2 -2
  553. package/dist/index.d.ts +2 -0
  554. package/dist/index.d.ts.map +1 -1
  555. package/dist/index.js +4 -0
  556. package/dist/index.js.map +1 -1
  557. package/dist/lib/scope/scope-audit.d.ts +4 -1
  558. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  559. package/dist/lib/scope/scope-audit.js +3 -3
  560. package/dist/lib/scope/scope-audit.js.map +1 -1
  561. package/dist/lib/scope/scope-fs.d.ts +8 -0
  562. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  563. package/dist/lib/scope/scope-fs.js +18 -0
  564. package/dist/lib/scope/scope-fs.js.map +1 -1
  565. package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
  566. package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
  567. package/dist/lib/scope-templates/bug-fix.md +1 -1
  568. package/dist/lib/scope-templates/capability-delta.md +1 -0
  569. package/dist/lib/scope-templates/placeholder.md +1 -1
  570. package/dist/lib/scope-templates/release-feature.md +1 -1
  571. package/dist/lib/scope-templates/research.md +1 -1
  572. package/dist/lib/work-install.d.ts +39 -0
  573. package/dist/lib/work-install.d.ts.map +1 -0
  574. package/dist/lib/work-install.js +278 -0
  575. package/dist/lib/work-install.js.map +1 -0
  576. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  577. package/node_modules/@openrig/daemon/dist/builtins/workflow-specs/basic-loop.yaml +3 -3
  578. package/node_modules/@openrig/daemon/dist/builtins/workflow-specs/conveyor.yaml +1 -1
  579. package/node_modules/@openrig/daemon/dist/builtins/workflow-specs/factory-rsi.yaml +1 -1
  580. package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.d.ts +2 -0
  581. package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.d.ts.map +1 -0
  582. package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js +6 -0
  583. package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js.map +1 -0
  584. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
  585. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
  586. package/node_modules/@openrig/daemon/dist/db/all-migrations.js +10 -2
  587. package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
  588. package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts +4 -0
  589. package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts.map +1 -0
  590. package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js +11 -0
  591. package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js.map +1 -0
  592. package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts +4 -0
  593. package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts.map +1 -0
  594. package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js +8 -0
  595. package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js.map +1 -0
  596. package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts +8 -0
  597. package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts.map +1 -0
  598. package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js +15 -0
  599. package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js.map +1 -0
  600. package/node_modules/@openrig/daemon/dist/db/migrations/077_node_session_source.d.ts +4 -0
  601. package/node_modules/@openrig/daemon/dist/db/migrations/077_node_session_source.d.ts.map +1 -0
  602. package/node_modules/@openrig/daemon/dist/db/migrations/077_node_session_source.js +6 -0
  603. package/node_modules/@openrig/daemon/dist/db/migrations/077_node_session_source.js.map +1 -0
  604. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +44 -0
  605. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -0
  606. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +72 -0
  607. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -0
  608. package/node_modules/@openrig/daemon/dist/domain/agent-manifest.d.ts +6 -0
  609. package/node_modules/@openrig/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
  610. package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js +77 -15
  611. package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js.map +1 -1
  612. package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts +11 -0
  613. package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts.map +1 -1
  614. package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js +55 -0
  615. package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js.map +1 -1
  616. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts +9 -2
  617. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  618. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js +18 -0
  619. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
  620. package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts +7 -0
  621. package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  622. package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js +10 -0
  623. package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  624. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  625. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js +7 -0
  626. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  627. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +11 -0
  628. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  629. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +11 -0
  630. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  631. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  632. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +18 -7
  633. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  634. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +1 -1
  635. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
  636. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +2 -2
  637. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
  638. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +3 -1
  639. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -1
  640. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js +3 -2
  641. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -1
  642. package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts +88 -0
  643. package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts.map +1 -0
  644. package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js +290 -0
  645. package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js.map +1 -0
  646. package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts +65 -0
  647. package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts.map +1 -0
  648. package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.js +99 -0
  649. package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.js.map +1 -0
  650. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts +39 -0
  651. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -0
  652. package/node_modules/@openrig/daemon/dist/domain/execution-view.js +707 -0
  653. package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -0
  654. package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +60 -0
  655. package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -0
  656. package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js +144 -0
  657. package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -0
  658. package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts +20 -0
  659. package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -0
  660. package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js +52 -0
  661. package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js.map +1 -0
  662. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts +3 -1
  663. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts.map +1 -1
  664. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.js +9 -2
  665. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.js.map +1 -1
  666. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts +6 -2
  667. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  668. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +5 -3
  669. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  670. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +9 -1
  671. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  672. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +32 -1
  673. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  674. package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +32 -0
  675. package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -0
  676. package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js +86 -0
  677. package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -0
  678. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts +3 -2
  679. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
  680. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js +20 -4
  681. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js.map +1 -1
  682. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +34 -6
  683. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  684. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +60 -9
  685. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  686. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
  687. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  688. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js +12 -5
  689. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  690. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +10 -5
  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 +46 -19
  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-api.d.ts +29 -6
  695. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
  696. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js +41 -3
  697. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
  698. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +9 -3
  699. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  700. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js +132 -12
  701. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  702. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +10 -0
  703. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  704. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +286 -11
  705. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  706. package/node_modules/@openrig/daemon/dist/domain/graph-projection.d.ts +6 -0
  707. package/node_modules/@openrig/daemon/dist/domain/graph-projection.d.ts.map +1 -1
  708. package/node_modules/@openrig/daemon/dist/domain/graph-projection.js +6 -0
  709. package/node_modules/@openrig/daemon/dist/domain/graph-projection.js.map +1 -1
  710. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
  711. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js +1 -0
  712. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
  713. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts +41 -3
  714. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  715. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +45 -48
  716. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
  717. package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts +1 -0
  718. package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts.map +1 -1
  719. package/node_modules/@openrig/daemon/dist/domain/parked-query.js +1 -0
  720. package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +1 -1
  721. package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
  722. package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js +12 -5
  723. package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
  724. package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts +7 -0
  725. package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +1 -0
  726. package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js +99 -0
  727. package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js.map +1 -0
  728. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts +54 -0
  729. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts.map +1 -0
  730. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js +153 -0
  731. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js.map +1 -0
  732. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts +45 -0
  733. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -0
  734. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js +94 -0
  735. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -0
  736. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts +65 -0
  737. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -0
  738. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +244 -0
  739. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -0
  740. package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts +8 -0
  741. package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts.map +1 -1
  742. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts +4 -0
  743. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  744. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js +58 -0
  745. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js.map +1 -1
  746. package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts +20 -1
  747. package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -1
  748. package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js +64 -0
  749. package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js.map +1 -1
  750. package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts +7 -5
  751. package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  752. package/node_modules/@openrig/daemon/dist/domain/ps-projection.js +19 -32
  753. package/node_modules/@openrig/daemon/dist/domain/ps-projection.js.map +1 -1
  754. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts.map +1 -1
  755. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js +5 -0
  756. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js.map +1 -1
  757. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +55 -18
  758. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  759. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +387 -83
  760. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
  761. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  762. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +8 -2
  763. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +1 -1
  764. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts +24 -1
  765. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  766. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +161 -24
  767. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  768. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +10 -0
  769. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  770. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +49 -11
  771. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
  772. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts +20 -2
  773. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  774. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js +187 -15
  775. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  776. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +16 -0
  777. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
  778. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +52 -3
  779. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
  780. package/node_modules/@openrig/daemon/dist/domain/restore-check-service.js +1 -1
  781. package/node_modules/@openrig/daemon/dist/domain/restore-check-service.js.map +1 -1
  782. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +2 -1
  783. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  784. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +88 -15
  785. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  786. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts +6 -2
  787. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  788. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js +37 -19
  789. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  790. package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  791. package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.js +10 -9
  792. package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  793. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.d.ts +24 -4
  794. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  795. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js +116 -6
  796. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  797. package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts +6 -1
  798. package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  799. package/node_modules/@openrig/daemon/dist/domain/rig-repository.js +28 -3
  800. package/node_modules/@openrig/daemon/dist/domain/rig-repository.js.map +1 -1
  801. package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  802. package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js +74 -4
  803. package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js.map +1 -1
  804. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  805. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.js +2 -0
  806. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  807. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
  808. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  809. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +16 -0
  810. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  811. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  812. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +32 -4
  813. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
  814. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts +8 -0
  815. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts.map +1 -1
  816. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js +18 -0
  817. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js.map +1 -1
  818. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts +5 -2
  819. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  820. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js +3 -3
  821. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  822. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
  823. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +6 -0
  824. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
  825. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +28 -4
  826. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  827. package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
  828. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts +5 -1
  829. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +1 -1
  830. package/node_modules/@openrig/daemon/dist/domain/view-projector.js +24 -0
  831. package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
  832. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +25 -6
  833. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  834. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js +115 -32
  835. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  836. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +40 -1
  837. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  838. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +112 -6
  839. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  840. package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
  841. package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js +3 -2
  842. package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
  843. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  844. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js +37 -2
  845. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  846. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  847. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +2 -4
  848. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  849. package/node_modules/@openrig/daemon/dist/index.d.ts +9 -0
  850. package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
  851. package/node_modules/@openrig/daemon/dist/index.js +24 -1
  852. package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
  853. package/node_modules/@openrig/daemon/dist/routes/agent-images.d.ts.map +1 -1
  854. package/node_modules/@openrig/daemon/dist/routes/agent-images.js +9 -0
  855. package/node_modules/@openrig/daemon/dist/routes/agent-images.js.map +1 -1
  856. package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts.map +1 -1
  857. package/node_modules/@openrig/daemon/dist/routes/bundles.js +61 -1
  858. package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
  859. package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
  860. package/node_modules/@openrig/daemon/dist/routes/context-packs.js +146 -6
  861. package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
  862. package/node_modules/@openrig/daemon/dist/routes/gateway.js +1 -1
  863. package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +1 -1
  864. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
  865. package/node_modules/@openrig/daemon/dist/routes/queue.js +22 -11
  866. package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
  867. package/node_modules/@openrig/daemon/dist/routes/rigs.js +45 -5
  868. package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
  869. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js +6 -6
  870. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js.map +1 -1
  871. package/node_modules/@openrig/daemon/dist/routes/sessions.js +7 -3
  872. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
  873. package/node_modules/@openrig/daemon/dist/routes/views.d.ts.map +1 -1
  874. package/node_modules/@openrig/daemon/dist/routes/views.js +4 -1
  875. package/node_modules/@openrig/daemon/dist/routes/views.js.map +1 -1
  876. package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts.map +1 -1
  877. package/node_modules/@openrig/daemon/dist/routes/watchdog.js +40 -3
  878. package/node_modules/@openrig/daemon/dist/routes/watchdog.js.map +1 -1
  879. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  880. package/node_modules/@openrig/daemon/dist/server.js +5 -0
  881. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  882. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  883. package/node_modules/@openrig/daemon/dist/startup.js +197 -6
  884. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  885. package/node_modules/@openrig/daemon/package.json +5 -1
  886. package/package.json +1 -1
  887. package/tui/dist/demo-data.js +2 -2
  888. package/tui/dist/demo-data.js.map +1 -1
  889. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/CHANGELOG.md +0 -92
  890. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/REVISION-GUIDE.md +0 -34
  891. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROADMAP.md +0 -23
  892. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROLLOUT.md +0 -234
  893. package/daemon/context-packs/skills/core/attention-queue/SKILL.md +0 -264
  894. package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +0 -9
  895. package/daemon/context-packs/skills/process/brainstorming/OPENRIG.md +0 -48
  896. package/daemon/context-packs/skills/process/brainstorming/SKILL.md +0 -107
  897. package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +0 -11
  898. package/daemon/context-packs/skills/process/executing-plans/OPENRIG.md +0 -56
  899. package/daemon/context-packs/skills/process/executing-plans/SKILL.md +0 -94
  900. package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +0 -11
  901. package/daemon/context-packs/skills/process/using-superpowers/OPENRIG.md +0 -48
  902. package/daemon/context-packs/skills/process/using-superpowers/SKILL.md +0 -106
  903. package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +0 -11
  904. package/daemon/context-packs/skills/process/writing-plans/OPENRIG.md +0 -52
  905. package/daemon/context-packs/skills/process/writing-plans/SKILL.md +0 -126
  906. package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +0 -11
  907. package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +0 -264
  908. package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +0 -48
  909. package/daemon/specs/agents/shared/skills/process/brainstorming/SKILL.md +0 -107
  910. package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +0 -56
  911. package/daemon/specs/agents/shared/skills/process/executing-plans/SKILL.md +0 -94
  912. package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +0 -48
  913. package/daemon/specs/agents/shared/skills/process/using-superpowers/SKILL.md +0 -106
  914. package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +0 -52
  915. package/daemon/specs/agents/shared/skills/process/writing-plans/SKILL.md +0 -126
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: queue-handoff
3
+ description: Use when ending a turn, finishing a slice, blocked on another agent's work, or escalating to a human — durable work handoff via queue items so the system keeps moving across compactions, missed messages, and interruptions. Covers the hot-potato terminal-turn-rule (active work ends by passing the ball, not by going idle), default-nudge semantics, and when `--no-nudge` is appropriate for intentional cold park or human gate.
4
+ metadata:
5
+ cli_surfaces_referenced:
6
+ - queue
7
+ - queue create
8
+ - queue handoff
9
+ - queue handoff-and-complete
10
+ openrig:
11
+ stage: factory-approved
12
+ sibling_skills:
13
+ - workflow-runtime
14
+ - watchdog
15
+ - refocus
16
+ - looping-workflows
17
+ - intake-routing
18
+ - human-in-the-loop
19
+ - dispatching-parallel-agents
20
+ - subagent-driven-development
21
+ - structured-ack-dispatch
22
+ - control-plane-capabilities
23
+ - status-not-chat-orchestrator
24
+ - control-plane-queue
25
+ - control-plane-watchdog
26
+ - control-plane-workflows
27
+ - control-plane-delivery-loop
28
+ - control-plane-rollout-manager
29
+ ---
30
+
31
+ # Queue Handoff
32
+
33
+ Durable work handoff via queue items. Lets the system keep moving
34
+ through compactions, missed messages, and interruptions by passing the
35
+ ball forward instead of leaving work suspended in chat or in-flight
36
+ without an owner.
37
+
38
+ ## Use this when
39
+
40
+ - **Ending a turn on substantive work.** Active work should end by
41
+ passing the ball to an owner or to the human — never by going idle
42
+ with the rig appearing dormant.
43
+ - **Finishing a slice that has a clear next step.** Default-nudge:
44
+ receiver gets a wake-ping plus the durable queue item.
45
+ - **Blocked on another agent's work.** Park the qitem with
46
+ `closure_reason: blocked_on` and the blocker qitem id.
47
+ - **Escalating to the human.** Make the escalation a durable attention
48
+ item, not just a chat message.
49
+
50
+ ## Don't use this when
51
+
52
+ - The work is genuinely complete and there's no follow-on owner. Use
53
+ `closure_reason: no-follow-on` (terminal completion) or
54
+ `canceled`/`denied` as appropriate.
55
+ - The handoff would be too small and turn work into bureaucracy. Bundle
56
+ the work into a coherent slice instead of decomposing every step.
57
+ - The handoff would be too broad and lose ownership/proof/closure
58
+ criteria. Shape the qitem so the receiver knows the expected next
59
+ action and closure evidence.
60
+
61
+ ## The hot-potato terminal-turn-rule
62
+
63
+ Active work ends by passing the ball to a named next owner or to the
64
+ human. The qitem state machine enforces this:
65
+
66
+ `pending → in-progress → done` requires `closure_reason` from one of:
67
+
68
+ - `handed_off_to` — work continues at a different seat (target = new owner)
69
+ - `blocked_on` — parked pending another qitem (target = blocker qitem id)
70
+ - `denied` — receiver rejected the work
71
+ - `canceled` — sender or receiver withdrew
72
+ - `no-follow-on` — terminal completion, nothing else needed
73
+ - `escalation` — kicked up to a higher tier (target = escalation target)
74
+
75
+ Three of those (`handed_off_to`, `blocked_on`, `escalation`) additionally
76
+ require `closure_target`. The daemon enforces this at the domain layer;
77
+ every surface (CLI, MCP, future UI) inherits the same guarantee.
78
+
79
+ **The drafted-park failure (draft ≠ throw).** The rule is about the *actual* pass, not the
80
+ intention to pass. A turn that ends with a self-instruction **typed into your own prompt but left
81
+ unsent** — a drafted go-ahead, a next-atom note you never sent — has **not** handed off; it has
82
+ **parked**, and the seat sits idle for as long as nobody notices. Drafting the handoff feels like
83
+ doing it; it isn't. **Your last act on a turn must be an EDIT or a SEND** — a committed change, a
84
+ `rig send`, a `rig queue` handoff — **never a drafted prompt line left in the buffer.** If your
85
+ final output is an instruction addressed to yourself, you haven't ended the turn, you've stalled it.
86
+
87
+ **The dispatcher's other half — supersession closes your own outbox.** Ending your turn cleanly is
88
+ only half the rule; the other half fires when *you* move the world. **When a phase transition or a
89
+ fold receipt supersedes work you dispatched, close those dispatches yourself — with a citation to the
90
+ event that superseded them.** Closure-on-supersession belongs to the **dispatcher, never the
91
+ receiver.** Make it a habit: after every fold receipt / phase transition, run an **outbox audit** —
92
+ *which of my open dispatches did this just make moot?* — and close them with the citation.
93
+
94
+ *Why it must live with you:* stale dispatch-debt is **invisible to the dispatcher** because it lands
95
+ on someone else's queue — the cost is externalized, so no feedback loop ever fires to make you clean
96
+ it up. The receiver inherits debt they did not create and must burn cycles verifying it before they
97
+ can hold cleanly; a queue full of stale-pending makes *check-before-holding* — the discipline you
98
+ most want cheap — expensive, and it degrades the idle-detector's signal (a real owner looks the same
99
+ as a stale dispatch). Close it at the source: the moment your own transition mooted it.
100
+
101
+ **And after you hand off, PULL — don't idle with a stocked queue.** Handing the baton off ends the
102
+ *sequential* thread; it does not end *your* turn if your own queue still holds work. The circulation
103
+ pattern: finish → (1) hand the baton off so sequential work continues → (2) **check your OWN queue and
104
+ pull the next item** rather than going idle → (3) go truly idle only when your queue is **exhausted**,
105
+ then wait for the baton. An agent idling on top of a stocked queue is the single biggest utilization
106
+ leak (see `orchestration-team` → *queue depth is the orchestrator's product*). This is pull-not-push at
107
+ the seat level and needs no new machinery — the last act *after a handoff* is a **PULL**.
108
+
109
+ ## Default-nudge semantics (the syntax footgun)
110
+
111
+ | Command | Nudges by default? | When to use |
112
+ |---|---|---|
113
+ | `rig queue create` | yes | New qitem created from scratch |
114
+ | `rig queue handoff` | yes | Transactional close-as-handed-off + create-new |
115
+ | `rig queue handoff-and-complete` | yes | Atomic close + create-new; default nudge wakes the new owner |
116
+
117
+ **Footgun**: `--no-nudge` accidentally added to a live-loop handoff.
118
+ The shipped 0.3.1 CLI nudges by default on every queue write surface
119
+ (`rig queue create`, `rig queue handoff`, AND `rig queue handoff-and-complete`).
120
+ The only suppression flag is `--no-nudge` — appropriate for intentional
121
+ cold park, human-gate signal, or a deliberate poll-driven workflow, but
122
+ NOT for live-loop handoffs where motion matters.
123
+
124
+ **Rule**: in a live loop, omit `--no-nudge` and trust the default.
125
+ `--no-nudge` is the opt-out, not the opt-in. If you find yourself
126
+ reaching for `--notify`, stop — that flag does not exist on the
127
+ shipped 0.3.1 CLI; you may be following a stale instruction that
128
+ inverted the default-nudge polarity.
129
+
130
+ ## Queue-body hygiene (token + parse safety)
131
+
132
+ The qitem body is durable DATA the daemon stores and replays on every
133
+ `rig queue show <id>` / `--json` read. Keep it small and parse-safe — a
134
+ bloated or malformed body costs every future reader, not just the
135
+ recipient.
136
+
137
+ - **No large command output in bodies.** Do NOT paste `rig ps`/`--nodes`
138
+ dumps, big JSON blobs, full proof output, diffs, or transcript chunks
139
+ into a qitem body. **Link the artifact PATH** (e.g.
140
+ `missions/<m>/<slice>/proof.md`) or **summarize in prose**, then point
141
+ at the file for the detail. A pasted dump makes `rig queue show <id>
142
+ --json` huge — a second-order token bloat: bloated DATA living in the
143
+ queue, distinct from the command-default output bombs the token-burn
144
+ emergency pack covers.
145
+ - **Substantive bodies go through `--body-file`, not inline `--body`.**
146
+ For anything beyond a short line, write the body to a file and pass
147
+ `--body-file <path>` (or `-` for stdin). Inline `--body` with shell
148
+ metacharacters is fragile.
149
+ - **No raw backticks in bodies.** Backticks in an inline body are shell
150
+ command-substitution and corrupt the payload (or execute). If you need
151
+ code/command spans, use `--body-file`, or drop the backticks and write
152
+ the command in plain text.
153
+
154
+ Heuristic: if the thing you want to include is more than a few lines or
155
+ contains shell metacharacters (backticks, `$`, quotes, newlines-with-pipes),
156
+ it belongs in a file you LINK, not in the body you paste.
157
+
158
+ Product backstop (defense-in-depth, NOT a substitute for this discipline):
159
+ `rig queue show` oversized-body truncation/preview is tracked separately
160
+ as slice OPR.0.4.1.3. The behavioral rule here is the primary, durable
161
+ cure; the product truncation is the safety net.
162
+
163
+ ## Failure modes (6; verbatim)
164
+
165
+ 1. Agent ends a turn without a handoff, so the rig appears idle.
166
+ 2. Agent creates a queue item with `--no-nudge` inside a live loop, intending suppression of attention but breaking immediate motion. `--no-nudge` is for intentional cold park / human gate, not for routine live-loop handoffs. The opposite footgun — adding a `--notify` flag that does not exist on the shipped 0.3.1 CLI — comes from following stale instructions; the default already nudges.
167
+ 3. Queue item is too small and turns work into bureaucracy.
168
+ 4. Queue item is too broad and loses ownership, proof, or closure criteria.
169
+ 5. Human escalation happens in chat but not as a durable attention item.
170
+ 6. Agent pastes a large command dump (ps/nodes, big JSON, proof blob) into the qitem body, bloating the stored DATA so every future `rig queue show --json` read is huge. Link the proof PATH or summarize in prose; substantive bodies go through `--body-file`; no raw backticks inline.
171
+
172
+ ## Durable handoff field shape
173
+
174
+ Every qitem carries:
175
+
176
+ - `handed_off_to` — destination session (qualified `pod-member@rig` form)
177
+ - `handed_off_from` — source session
178
+ - `state` — one of: `pending | in-progress | done | blocked | failed | denied | canceled | handed-off`
179
+ - `closure_reason` + `closure_target` — set on terminal closure per hot-potato rule
180
+
181
+ **(0.5.0) `--body-context <ref>` — context riding the handoff.** `rig queue create … --body-context <ref>` attaches a composed context pack to the qitem. The snapshot rule: the qitem stores the **resolved content** in its body **plus the ref for provenance** — the handoff carries what was actually sent, and a later edit to the library never silently rewrites a past handoff's history. (The `rig context` noun composes the ref; the queue delivers it — the noun has no send.) See `openrig-user` → "Context packs and paced delivery."
182
+
183
+ The fields are auditable on the daemon-backed `rig queue` surface. Watchdog
184
+ policies and workflow runtime project new owners off these fields.
185
+
186
+ If a daemon-backed coordination command fails, debug the command/runtime/schema
187
+ edge directly — don't fall back to stale pre-upgrade assumptions.
188
+
189
+ ## See also
190
+
191
+ - `looping-workflows` skill — operating discipline for self-driving rig-shaped loops; queue-handoff is its current handoff substrate
192
+ - `intake-routing` skill — how raw signals enter the system and become routed work that flows through the queue
@@ -0,0 +1,10 @@
1
+ # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
+ # Package-time projection of a canonical skill; regenerated every build.
3
+ name: "queue-handoff"
4
+ version: "0.5.7"
5
+ taxonomy: "skills"
6
+ purpose: "Use when ending a turn, finishing a slice, blocked on another agent's work, or escalating to a human — durable work handoff via queue items so the system keeps moving across compactions, missed messages, and interruptions. Covers the hot-potato terminal-turn-rule (active work ends by passing the ball, not by going idle), default-nudge semantics, and when `--no-nudge` is appropriate for intentional cold park or human gate."
7
+ files:
8
+ - path: "SKILL.md"
9
+ role: "instruction"
10
+ summary: "Use when ending a turn, finishing a slice, blocked on another agent's work, or escalating to a human — durable work handoff via queue items so the system keeps moving across compactions, missed messages, and interruptions. Covers the hot-potato terminal-turn-rule (active work ends by passing the ball, not by going idle), default-nudge semantics, and when `--no-nudge` is appropriate for intentional cold park or human gate."
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: refocusing
3
+ description: >-
4
+ Use when a long-running agent may have lost the product outcome, when context was compacted,
5
+ when work has crossed a major boundary, or when a fresh path-based trace is needed before the
6
+ next consequential action. Not for fresh-session orientation, waking an idle seat, or checkpoints.
7
+ metadata:
8
+ openrig:
9
+ stage: product
10
+ ---
11
+
12
+ # Refocusing
13
+
14
+ Refocus preserves a long session's earned expertise while re-grounding it in current intent and
15
+ lived context. It is not a restart, wake, or phase checkpoint.
16
+
17
+ Run the bundled trace from this skill directory instead of reconstructing the hierarchy from memory:
18
+
19
+ ```bash
20
+ python3 scripts/trace-to-root.py --trees both --depth light
21
+ ```
22
+
23
+ Use `--trees topology|work|both` to select context domains and `--depth light|full` to control how
24
+ much each node contributes. Light work traces compose `intent:` and name notes; full traces include
25
+ the complete node and notes bodies. The script resolves `topology.root` and `workspace.root` with
26
+ `rig config get`. When a current node cannot be derived, set `OPENRIG_REFOCUS_TOPOLOGY_NODE` or
27
+ `OPENRIG_REFOCUS_WORK_NODE`, or pass the matching `--*-start` option.
28
+
29
+ Read [references/refocus.md](references/refocus.md) when changing the automatic hook or its content
30
+ ladder. A missing chain file is evidence: report the gap and continue; never follow pointers to invent
31
+ a second parent.
@@ -0,0 +1,14 @@
1
+ # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
+ # Package-time projection of a canonical skill; regenerated every build.
3
+ name: "refocusing"
4
+ version: "0.5.7"
5
+ taxonomy: "skills"
6
+ purpose: "Use when a long-running agent may have lost the product outcome, when context was compacted, when work has crossed a major boundary, or when a fresh path-based trace is needed before the next consequential action. Not for fresh-session orientation, waking an idle seat, or checkpoints."
7
+ files:
8
+ - path: "SKILL.md"
9
+ role: "instruction"
10
+ summary: "Use when a long-running agent may have lost the product outcome, when context was compacted, when work has crossed a major boundary, or when a fresh path-based trace is needed before the next consequential action. Not for fresh-session orientation, waking an idle seat, or checkpoints."
11
+ - path: "references/refocus.md"
12
+ role: "reference"
13
+ - path: "scripts/trace-to-root.py"
14
+ role: "reference"
@@ -0,0 +1,22 @@
1
+ # Refocus
2
+
3
+ 1. What is the person actually trying to get? Not your current task — the outcome.
4
+ 2. Does what you are doing RIGHT NOW move that? If you cannot say what a user gets, stop and say so.
5
+ 3. What have you concluded without opening the file or running the thing?
6
+
7
+ Discomfort on any of these is the signal: drift feels like work.
8
+
9
+ The `refocusing` skill carries the source-appropriate path-only trace. Its
10
+ `scripts/trace-to-root.py` walks both current trees by default: topology `LEARNED.md`, then work
11
+ `SPEC.md` intent plus `NOTES.md`. Change breadth with `OPENRIG_REFOCUS_TREES=topology|work|both`
12
+ and read depth with `OPENRIG_REFOCUS_DEPTH=light|full`.
13
+
14
+ Replace this default without editing the plugin. The content ladder, highest precedence first, is:
15
+
16
+ 1. `OPENRIG_REFOCUS_CONTENT_REF`, resolved by `rig context get`.
17
+ 2. `OPENRIG_REFOCUS_CONTENT_FILE`, an operator-authored file.
18
+ 3. `$OPENRIG_HOME/refocus/REFOCUS.md`, instance content.
19
+ 4. This shipped default.
20
+
21
+ Fresh seats receive the separate onboarding assets `openrig-onboarding-01.md` and
22
+ `openrig-onboarding-02.md`. This file only cites those assets; it does not copy their world install.
@@ -0,0 +1,264 @@
1
+ #!/usr/bin/env python3
2
+ """Render topology and work context by ascending directory paths only."""
3
+
4
+ import argparse
5
+ import json
6
+ import os
7
+ import re
8
+ import subprocess
9
+ from pathlib import Path
10
+
11
+ SHELVES = {"rigs", "pods", "seats", "missions", "slices"}
12
+
13
+
14
+ def rig_output(*args):
15
+ try:
16
+ result = subprocess.run(
17
+ ["rig", *args], capture_output=True, text=True, timeout=10, check=False
18
+ )
19
+ except (OSError, subprocess.SubprocessError):
20
+ return None
21
+ value = (result.stdout or "").strip()
22
+ return value if result.returncode == 0 and value else None
23
+
24
+
25
+ def configured_root(key, env_key):
26
+ value = os.environ.get(env_key) or rig_output("config", "get", key)
27
+ return Path(value).expanduser().resolve() if value else None
28
+
29
+
30
+ def under_root(path, root):
31
+ try:
32
+ path.relative_to(root)
33
+ return True
34
+ except ValueError:
35
+ return False
36
+
37
+
38
+ def ascent(start, root):
39
+ start = start.expanduser().resolve()
40
+ if not under_root(start, root):
41
+ return None, f"start is outside configured root: {start}"
42
+ nodes = []
43
+ current = start
44
+ while True:
45
+ if current.name not in SHELVES:
46
+ nodes.append(current)
47
+ if current == root:
48
+ break
49
+ parent = current.parent
50
+ if parent == current:
51
+ return None, f"could not reach configured root: {root}"
52
+ current = parent
53
+ return list(reversed(nodes)), None
54
+
55
+
56
+ def read(path):
57
+ try:
58
+ return path.read_text(encoding="utf8", errors="replace")
59
+ except OSError:
60
+ return None
61
+
62
+
63
+ def resolve_notes(node):
64
+ try:
65
+ result = subprocess.run(
66
+ ["rig", "scope", "resolve-notes", str(node), "--json"],
67
+ capture_output=True,
68
+ text=True,
69
+ timeout=10,
70
+ check=False,
71
+ )
72
+ except subprocess.TimeoutExpired:
73
+ return None, "resolver command timed out"
74
+ except OSError as error:
75
+ return None, f"resolver command could not start: {error}"
76
+ if result.returncode != 0:
77
+ detail = (result.stderr or result.stdout or "").strip().splitlines()
78
+ suffix = f": {detail[0]}" if detail else ""
79
+ return None, f"resolver command exited {result.returncode}{suffix}"
80
+ try:
81
+ payload = json.loads(result.stdout)
82
+ except (json.JSONDecodeError, TypeError):
83
+ return None, "resolver command returned malformed JSON"
84
+ if not isinstance(payload, dict) or payload.get("ok") is not True or "resolution" not in payload:
85
+ return None, "resolver command returned an invalid success shape"
86
+ resolution = payload["resolution"]
87
+ if resolution is None:
88
+ return None, None
89
+ if not isinstance(resolution, dict):
90
+ return None, "resolver command returned an invalid resolution shape"
91
+ resolved_path = resolution.get("path")
92
+ resolved_name = resolution.get("name")
93
+ if not isinstance(resolved_path, str) or not isinstance(resolved_name, str):
94
+ return None, "resolver command returned an invalid resolution shape"
95
+ return (Path(resolved_path), resolved_name), None
96
+
97
+
98
+ def intent(text):
99
+ if not text or not text.startswith("---"):
100
+ return None
101
+ match = re.match(r"^---\s*\n(.*?)\n---(?:\s*\n|$)", text, re.S)
102
+ if not match:
103
+ return None
104
+ lines = match.group(1).splitlines()
105
+ for index, line in enumerate(lines):
106
+ found = re.match(r"^intent:\s*(.*)$", line)
107
+ if not found:
108
+ continue
109
+ value = found.group(1).strip()
110
+ if value in {"|", ">", "|-", ">-", "|+", ">+"}:
111
+ block = []
112
+ for later in lines[index + 1:]:
113
+ if later and not later[0].isspace():
114
+ break
115
+ block.append(later.strip())
116
+ return " ".join(part for part in block if part)
117
+ if len(value) >= 2 and value[0] == value[-1] and value[0] in {"'", '"'}:
118
+ if value[0] == '"':
119
+ try:
120
+ return json.loads(value)
121
+ except json.JSONDecodeError:
122
+ pass
123
+ return value[1:-1]
124
+ return value or None
125
+ return None
126
+
127
+
128
+ def light_learned(text):
129
+ if not text:
130
+ return ""
131
+ body = re.sub(r"^---\s*\n.*?\n---\s*\n", "", text, count=1, flags=re.S).strip()
132
+ if len(body) <= 800:
133
+ return body
134
+ boundary = body.rfind("\n", 0, 800)
135
+ return body[:boundary if boundary > 0 else 800].rstrip() + "\n[… use --depth full for the rest]"
136
+
137
+
138
+ def render_topology(start, root, depth):
139
+ output = ["## TOPOLOGY TRACE", f"root: {root}", f"start: {start}"]
140
+ nodes, error = ascent(start, root)
141
+ if error:
142
+ return "\n".join(output + [f"TRACE GAP — {error}"])
143
+ for node in nodes:
144
+ chain_file = node / "LEARNED.md"
145
+ text = read(chain_file)
146
+ label = node.relative_to(root) or Path(".")
147
+ if text is None:
148
+ output.append(f"\n### {label}\nMISSING LINK — {chain_file}")
149
+ continue
150
+ body = text.strip() if depth == "full" else light_learned(text)
151
+ output.append(f"\n### {label} · LEARNED.md\n{body}")
152
+ return "\n".join(output)
153
+
154
+
155
+ def render_work(start, root, depth):
156
+ output = ["## WORK TRACE", f"root: {root}", f"start: {start}"]
157
+ nodes, error = ascent(start, root)
158
+ if error:
159
+ return "\n".join(output + [f"TRACE GAP — {error}"])
160
+ for node in nodes:
161
+ label = node.relative_to(root) or Path(".")
162
+ spec = next((candidate for candidate in (node / "SPEC.md", node / "README.md") if candidate.is_file()), None)
163
+ if spec is None:
164
+ output.append(f"\n### {label}\nMISSING LINK — no SPEC.md or README.md at {node}")
165
+ else:
166
+ text = read(spec) or ""
167
+ if depth == "full":
168
+ body = text.strip()
169
+ else:
170
+ value = intent(text)
171
+ body = f"intent: {value}" if value else "MISSING INTENT — no readable intent: field"
172
+ output.append(f"\n### {label} · {spec.name}\n{body}")
173
+
174
+ notes, resolution_error = resolve_notes(node)
175
+ if resolution_error:
176
+ output.append(f"NOTES RESOLUTION GAP — {resolution_error} at {node}")
177
+ elif notes:
178
+ notes_path, notes_name = notes
179
+ if depth == "full":
180
+ notes_text = read(notes_path)
181
+ if notes_text is None:
182
+ output.append(f"NOTES RESOLUTION GAP — resolved {notes_name} became unreadable at {notes_path}")
183
+ else:
184
+ output.append(f"\nNOTES · {notes_name}\n{notes_text.strip()}")
185
+ else:
186
+ try:
187
+ size = notes_path.stat().st_size
188
+ except OSError:
189
+ output.append(f"NOTES RESOLUTION GAP — resolved {notes_name} became unreadable at {notes_path}")
190
+ else:
191
+ output.append(f"NOTES · {notes_name} · {size} bytes · {notes_path}")
192
+ else:
193
+ output.append(f"NOTES GAP — no readable mission notes at {node}")
194
+ return "\n".join(output)
195
+
196
+
197
+ def derive_topology_start(root):
198
+ explicit = os.environ.get("OPENRIG_REFOCUS_TOPOLOGY_NODE")
199
+ if explicit:
200
+ return Path(explicit)
201
+ raw = rig_output("whoami", "--json")
202
+ if not raw:
203
+ return None
204
+ try:
205
+ identity = json.loads(raw).get("identity", {})
206
+ except json.JSONDecodeError:
207
+ return None
208
+ rig = identity.get("rigName")
209
+ session = identity.get("sessionName")
210
+ if not rig or not session:
211
+ return None
212
+ seat = str(session).split("@", 1)[0]
213
+ return root / "rigs" / str(rig) / "seats" / seat
214
+
215
+
216
+ def derive_work_start(root):
217
+ explicit = os.environ.get("OPENRIG_REFOCUS_WORK_NODE")
218
+ if explicit:
219
+ return Path(explicit)
220
+ current = Path.cwd().resolve()
221
+ if not under_root(current, root):
222
+ return None
223
+ while under_root(current, root):
224
+ if (current / "SPEC.md").is_file() or (current / "README.md").is_file():
225
+ return current
226
+ if current == root:
227
+ break
228
+ current = current.parent
229
+ return None
230
+
231
+
232
+ def main():
233
+ parser = argparse.ArgumentParser(description=__doc__)
234
+ parser.add_argument("--trees", choices=("topology", "work", "both"), default=os.environ.get("OPENRIG_REFOCUS_TREES", "both"))
235
+ parser.add_argument("--depth", choices=("light", "full"), default=os.environ.get("OPENRIG_REFOCUS_DEPTH", "light"))
236
+ parser.add_argument("--topology-start")
237
+ parser.add_argument("--work-start")
238
+ args = parser.parse_args()
239
+
240
+ sections = []
241
+ if args.trees in {"topology", "both"}:
242
+ root = configured_root("topology.root", "OPENRIG_TOPOLOGY_ROOT")
243
+ if root is None:
244
+ sections.append("## TOPOLOGY TRACE\nTRACE GAP — topology.root is unresolved")
245
+ else:
246
+ start = Path(args.topology_start) if args.topology_start else derive_topology_start(root)
247
+ sections.append(render_topology(start, root, args.depth) if start else
248
+ "## TOPOLOGY TRACE\nTRACE GAP — current topology node is unresolved; set OPENRIG_REFOCUS_TOPOLOGY_NODE")
249
+
250
+ if args.trees in {"work", "both"}:
251
+ root = configured_root("workspace.root", "OPENRIG_WORKSPACE_ROOT")
252
+ if root is None:
253
+ sections.append("## WORK TRACE\nTRACE GAP — workspace.root is unresolved")
254
+ else:
255
+ start = Path(args.work_start) if args.work_start else derive_work_start(root)
256
+ sections.append(render_work(start, root, args.depth) if start else
257
+ "## WORK TRACE\nTRACE GAP — current work node is unresolved; set OPENRIG_REFOCUS_WORK_NODE")
258
+
259
+ print("\n\n".join(sections))
260
+ return 0
261
+
262
+
263
+ if __name__ == "__main__":
264
+ raise SystemExit(main())
@@ -0,0 +1,48 @@
1
+ # Changelog — retiring-and-inheriting-a-seat
2
+
3
+ **`SKILL.md` carries the mechanic; this file carries how it got there.** Rationale, superseded
4
+ designs, and the incidents that produced a rule live here so the instruction surface stays
5
+ instructional.
6
+
7
+ ---
8
+
9
+ ## 2026-08-13 — wake is a verb now, and the packet must not bound the channel (Wake v0)
10
+
11
+ ### Two corrections to the same section
12
+
13
+ **1 · The mechanism claim was stale.** The section read *"In v0 this is a practice + skill, not a
14
+ `rig` verb — wrap it in a verb only when convenience and consistency earn it."* `rig ask --wake`
15
+ had since shipped in CLI 0.5.1, with `--runtime` and `--wake-timeout` (default 180s). A retiring
16
+ agent reading the old line would have told its successor a verb existed only in principle.
17
+
18
+ The verb is a thin wrapper over the harness resume and is **not yet well-exercised** (mission owner,
19
+ 2026-08-13), so the fallback to `claude -p --resume` is stated inline rather than left implied. **A
20
+ failing wrapper must never be read as a closed channel** — that inference was made once already and
21
+ cost a successor several turns.
22
+
23
+ **2 · The retiring side is where the reach-back failure is caused.** Across lineages on record, the
24
+ successor consulting its predecessor has almost never happened, and the packet is what suppresses
25
+ it. Two shapes, both observed in real packets on this rig:
26
+
27
+ - **Bounding the channel in time** — *"ask while the window is open"*, *"after this I am a
28
+ transcript, not a conversation"*. Neither is true: a retired tenure stays resumable while its
29
+ session record exists, and the only real bound is its own context wall hit while answering. The
30
+ second phrasing measurably cost a successor a capability it had (see
31
+ `orienting-to-an-inherited-seat/CHANGELOG.md`, 2026-08-13).
32
+ - **Offering access without a trigger** — *"predecessor consultation: not needed"* and *"you may
33
+ consult your predecessor"* each produced **zero consultations** from otherwise capable successors.
34
+
35
+ The distinction worth preserving, because retiring agents keep collapsing it: *"treat my answers as
36
+ testimony"* is a **posture** claim and it is correct. *"You can no longer converse with me"* is a
37
+ **capability** claim and it is false. They get written as the same sentence.
38
+
39
+ ### Why the guidance is phrased as what to write
40
+
41
+ Stated positively (*state that the channel does not expire; give your verbatim handle; pre-form the
42
+ questions*) rather than as a list of forbidden sentences. A prohibition list in `SKILL.md` would
43
+ draw attention to phrasings a retiring agent would otherwise never produce.
44
+
45
+ ### Standing
46
+
47
+ The fix is unverified. The measurable outcome is whether the next successor asks unprompted, and
48
+ more than once — the baseline is zero.