@openrig/cli 0.5.2 → 0.5.3

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 (484) hide show
  1. package/daemon/assets/plugins/openrig-core/hooks/claude.json +36 -0
  2. package/daemon/assets/plugins/openrig-core/hooks/codex.json +27 -0
  3. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +132 -0
  4. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +35 -3
  5. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +8 -95
  6. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +63 -20
  7. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +6 -2
  8. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +28 -2
  9. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +42 -52
  10. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +23 -1
  11. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +7 -2
  12. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +64 -0
  13. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +235 -0
  14. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +31 -1
  15. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/CHANGELOG.md +48 -0
  16. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +211 -0
  17. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +8 -0
  18. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +28 -1
  19. package/daemon/context-packs/skills/core/agent-starters/SKILL.md +132 -0
  20. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +9 -0
  21. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +112 -0
  22. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +9 -0
  23. package/daemon/context-packs/skills/core/attention-queue/SKILL.md +264 -0
  24. package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +9 -0
  25. package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +195 -0
  26. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +9 -0
  27. package/daemon/context-packs/skills/core/human-in-the-loop/SKILL.md +104 -0
  28. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +9 -0
  29. package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +378 -0
  30. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +9 -0
  31. package/daemon/context-packs/skills/core/openrig-cmux/SKILL.md +81 -0
  32. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +9 -0
  33. package/daemon/context-packs/skills/core/openrig-herdr/SKILL.md +153 -0
  34. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +9 -0
  35. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +460 -0
  36. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +9 -0
  37. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
  38. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +9 -0
  39. package/daemon/context-packs/skills/core/rig-lifecycle/SKILL.md +127 -0
  40. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +9 -0
  41. package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +160 -0
  42. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +9 -0
  43. package/daemon/context-packs/skills/core/specification-system/SKILL.md +103 -0
  44. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +9 -0
  45. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
  46. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +9 -0
  47. package/daemon/context-packs/skills/core/watchdog/SKILL.md +126 -0
  48. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +9 -0
  49. package/daemon/context-packs/skills/pm/backlog-capture/SKILL.md +43 -0
  50. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +9 -0
  51. package/daemon/context-packs/skills/pm/context-builder/SKILL.md +87 -0
  52. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +9 -0
  53. package/daemon/context-packs/skills/pm/exec-summary/SKILL.md +84 -0
  54. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +9 -0
  55. package/daemon/context-packs/skills/pm/office-hours/SKILL.md +129 -0
  56. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +9 -0
  57. package/daemon/context-packs/skills/pm/plan-review/SKILL.md +98 -0
  58. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +9 -0
  59. package/daemon/context-packs/skills/pm/requirements-writer/SKILL.md +113 -0
  60. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +9 -0
  61. package/daemon/context-packs/skills/pm/ui-mockup/SKILL.md +76 -0
  62. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +9 -0
  63. package/daemon/context-packs/skills/pods/development-team/SKILL.md +156 -0
  64. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +9 -0
  65. package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +307 -0
  66. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +9 -0
  67. package/daemon/context-packs/skills/pods/oversight-team/SKILL.md +106 -0
  68. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +9 -0
  69. package/daemon/context-packs/skills/pods/review-team/SKILL.md +213 -0
  70. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +9 -0
  71. package/daemon/context-packs/skills/process/agent-browser/LOCAL-INSIGHTS.md +189 -0
  72. package/daemon/context-packs/skills/process/agent-browser/OPENRIG.md +40 -0
  73. package/daemon/context-packs/skills/process/agent-browser/SKILL.md +427 -0
  74. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +13 -0
  75. package/daemon/context-packs/skills/process/brainstorming/OPENRIG.md +48 -0
  76. package/daemon/context-packs/skills/process/brainstorming/SKILL.md +107 -0
  77. package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +11 -0
  78. package/daemon/context-packs/skills/process/context-engineering/SKILL.md +479 -0
  79. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +9 -0
  80. package/daemon/context-packs/skills/process/dogfood/SKILL.md +225 -0
  81. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +13 -0
  82. package/daemon/context-packs/skills/process/dogfood/references/issue-taxonomy.md +109 -0
  83. package/daemon/context-packs/skills/process/dogfood/templates/dogfood-report-template.md +53 -0
  84. package/daemon/context-packs/skills/process/executing-plans/OPENRIG.md +56 -0
  85. package/daemon/context-packs/skills/process/executing-plans/SKILL.md +94 -0
  86. package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +11 -0
  87. package/daemon/context-packs/skills/process/frontend-design/LICENSE.txt +177 -0
  88. package/daemon/context-packs/skills/process/frontend-design/SKILL.md +50 -0
  89. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +11 -0
  90. package/daemon/context-packs/skills/process/systematic-debugging/SKILL.md +301 -0
  91. package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting-example.ts +158 -0
  92. package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting.md +115 -0
  93. package/daemon/context-packs/skills/process/systematic-debugging/defense-in-depth.md +122 -0
  94. package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +63 -0
  95. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +19 -0
  96. package/daemon/context-packs/skills/process/systematic-debugging/root-cause-tracing.md +169 -0
  97. package/daemon/context-packs/skills/process/test-driven-development/SKILL.md +385 -0
  98. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +11 -0
  99. package/daemon/context-packs/skills/process/test-driven-development/testing-anti-patterns.md +299 -0
  100. package/daemon/context-packs/skills/process/using-superpowers/OPENRIG.md +48 -0
  101. package/daemon/context-packs/skills/process/using-superpowers/SKILL.md +106 -0
  102. package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +11 -0
  103. package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +155 -0
  104. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +9 -0
  105. package/daemon/context-packs/skills/process/writing-plans/OPENRIG.md +52 -0
  106. package/daemon/context-packs/skills/process/writing-plans/SKILL.md +126 -0
  107. package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +11 -0
  108. package/daemon/context-packs/world/install/01-world-from-primitives.md +97 -0
  109. package/daemon/context-packs/world/install/02-permission-self-sleep.md +141 -0
  110. package/daemon/context-packs/world/install/03-what-this-is-for.md +86 -0
  111. package/daemon/context-packs/world/install/04-ontology.md +790 -0
  112. package/daemon/context-packs/world/install/05-harness-power-use.md +355 -0
  113. package/daemon/context-packs/world/install/06-a-competent-turn.md +225 -0
  114. package/daemon/context-packs/world/install/manifest.yaml +125 -0
  115. package/daemon/context-packs/world/install/reference-material.md +125 -0
  116. package/daemon/context-packs/world/install/what-you-can-do.md +416 -0
  117. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  118. package/daemon/dist/adapters/claude-code-adapter.js +7 -4
  119. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  120. package/daemon/dist/adapters/claude-resume.js +2 -2
  121. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  122. package/daemon/dist/adapters/tmux.d.ts +10 -2
  123. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  124. package/daemon/dist/adapters/tmux.js +27 -7
  125. package/daemon/dist/adapters/tmux.js.map +1 -1
  126. package/daemon/dist/adapters/yolo-mode.d.ts +18 -0
  127. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  128. package/daemon/dist/adapters/yolo-mode.js +21 -0
  129. package/daemon/dist/adapters/yolo-mode.js.map +1 -1
  130. package/daemon/dist/build-info.js +3 -3
  131. package/daemon/dist/domain/codex-thread-id.d.ts +95 -0
  132. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  133. package/daemon/dist/domain/codex-thread-id.js +171 -2
  134. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  135. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
  136. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  137. package/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
  138. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  139. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  140. package/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
  141. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  142. package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
  143. package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
  144. package/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
  145. package/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
  146. package/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
  147. package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
  148. package/daemon/dist/domain/context-packs/profile-composer.js +125 -0
  149. package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
  150. package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
  151. package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
  152. package/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
  153. package/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
  154. package/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
  155. package/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
  156. package/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
  157. package/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
  158. package/daemon/dist/domain/markdown-address.d.ts +56 -0
  159. package/daemon/dist/domain/markdown-address.d.ts.map +1 -0
  160. package/daemon/dist/domain/markdown-address.js +188 -0
  161. package/daemon/dist/domain/markdown-address.js.map +1 -0
  162. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +8 -2
  163. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  164. package/daemon/dist/domain/model-divergence/current-generation-record.js +1 -1
  165. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  166. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +33 -21
  167. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  168. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +64 -55
  169. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  170. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  171. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  172. package/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
  173. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  174. package/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
  175. package/daemon/dist/domain/permission-drift-observer.js +6 -1
  176. package/daemon/dist/domain/permission-drift-observer.js.map +1 -1
  177. package/daemon/dist/domain/process-census.d.ts +25 -0
  178. package/daemon/dist/domain/process-census.d.ts.map +1 -0
  179. package/daemon/dist/domain/process-census.js +47 -0
  180. package/daemon/dist/domain/process-census.js.map +1 -0
  181. package/daemon/dist/domain/resume-metadata-refresher.d.ts +31 -2
  182. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  183. package/daemon/dist/domain/resume-metadata-refresher.js +64 -29
  184. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  185. package/daemon/dist/domain/review/compose.d.ts +5 -26
  186. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  187. package/daemon/dist/domain/review/compose.js +31 -57
  188. package/daemon/dist/domain/review/compose.js.map +1 -1
  189. package/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
  190. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  191. package/daemon/dist/domain/rigspec-instantiator.js +39 -0
  192. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  193. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  194. package/daemon/dist/domain/rigspec-schema.js +19 -3
  195. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  196. package/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
  197. package/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
  198. package/daemon/dist/domain/scope/logical-checkbox.js +65 -0
  199. package/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
  200. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +1 -1
  201. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  202. package/daemon/dist/domain/scope/plan-lock-artifacts.js +2 -2
  203. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  204. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
  205. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
  206. package/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
  207. package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
  208. package/daemon/dist/domain/seat-activity-service.d.ts +1 -0
  209. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  210. package/daemon/dist/domain/seat-activity-service.js +39 -23
  211. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  212. package/daemon/dist/domain/seat-handover-service.d.ts +22 -0
  213. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  214. package/daemon/dist/domain/seat-handover-service.js +32 -2
  215. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  216. package/daemon/dist/domain/session-transport.d.ts +8 -0
  217. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  218. package/daemon/dist/domain/session-transport.js +116 -0
  219. package/daemon/dist/domain/session-transport.js.map +1 -1
  220. package/daemon/dist/domain/shell-classifier.d.ts +23 -0
  221. package/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
  222. package/daemon/dist/domain/shell-classifier.js +36 -0
  223. package/daemon/dist/domain/shell-classifier.js.map +1 -0
  224. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  225. package/daemon/dist/domain/slices/slice-detail-projector.js +10 -1
  226. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  227. package/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
  228. package/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
  229. package/daemon/dist/domain/spec-validation-advisory.js +38 -0
  230. package/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
  231. package/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
  232. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  233. package/daemon/dist/domain/successor-session-launcher.js +38 -1
  234. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  235. package/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
  236. package/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
  237. package/daemon/dist/domain/topology-defaults-installer.js +92 -0
  238. package/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
  239. package/daemon/dist/domain/transcript-rotation.d.ts +4 -0
  240. package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  241. package/daemon/dist/domain/transcript-rotation.js +61 -3
  242. package/daemon/dist/domain/transcript-rotation.js.map +1 -1
  243. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  244. package/daemon/dist/domain/transcript-store.js +9 -2
  245. package/daemon/dist/domain/transcript-store.js.map +1 -1
  246. package/daemon/dist/domain/types.d.ts +3 -0
  247. package/daemon/dist/domain/types.d.ts.map +1 -1
  248. package/daemon/dist/domain/user-settings/settings-store.d.ts +10 -1
  249. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  250. package/daemon/dist/domain/user-settings/settings-store.js +39 -0
  251. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  252. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  253. package/daemon/dist/routes/context-packs.js +205 -0
  254. package/daemon/dist/routes/context-packs.js.map +1 -1
  255. package/daemon/dist/routes/seat.d.ts.map +1 -1
  256. package/daemon/dist/routes/seat.js +11 -0
  257. package/daemon/dist/routes/seat.js.map +1 -1
  258. package/daemon/dist/routes/sessions.js +55 -0
  259. package/daemon/dist/routes/sessions.js.map +1 -1
  260. package/daemon/dist/routes/transport.d.ts.map +1 -1
  261. package/daemon/dist/routes/transport.js +12 -3
  262. package/daemon/dist/routes/transport.js.map +1 -1
  263. package/daemon/dist/seat-recap-store-surface.d.ts +2 -0
  264. package/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
  265. package/daemon/dist/seat-recap-store-surface.js +6 -0
  266. package/daemon/dist/seat-recap-store-surface.js.map +1 -0
  267. package/daemon/dist/startup.d.ts.map +1 -1
  268. package/daemon/dist/startup.js +37 -6
  269. package/daemon/dist/startup.js.map +1 -1
  270. package/daemon/docs/reference/chain-file-convention.md +115 -0
  271. package/daemon/docs/reference/legacy-topology-migration.md +53 -0
  272. package/daemon/docs/reference/refocus-channel.md +80 -0
  273. package/daemon/docs/reference/sdlc-conventions.md +24 -0
  274. package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +1 -1
  275. package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +1 -1
  276. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +1 -1
  277. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +4 -4
  278. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +8 -0
  279. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +72 -31
  280. package/daemon/specs/agents/shared/skills/pods/oversight-team/SKILL.md +106 -0
  281. package/daemon/specs/agents/shared/skills/process/context-engineering/SKILL.md +479 -0
  282. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +9 -0
  283. package/daemon/specs/rigs/launch/demo/project-example/README.md +25 -0
  284. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/SPEC.md +19 -0
  285. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROGRESS.md +6 -0
  286. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROOF.md +7 -0
  287. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/SPEC.md +31 -0
  288. package/daemon/specs/rigs/preview/product-team/topology/instance/CRAFT.md +24 -0
  289. package/daemon/specs/rigs/preview/product-team/topology/rig/CRAFT.md +21 -0
  290. package/daemon/specs/rigs/preview/product-team/topology/rig/ORCHESTRATION-CRAFT.md +50 -0
  291. package/daemon/specs/rigs/preview/product-team/topology/seats/dev1-qa/CRAFT.md +13 -0
  292. package/daemon/specs/rigs/preview/product-team/topology/seats/orch1-lead/CRAFT.md +17 -0
  293. package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r1/CRAFT.md +17 -0
  294. package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r2/CRAFT.md +15 -0
  295. package/dist/build-info.js +3 -3
  296. package/dist/commands/config.d.ts.map +1 -1
  297. package/dist/commands/config.js +8 -0
  298. package/dist/commands/config.js.map +1 -1
  299. package/dist/commands/context.d.ts.map +1 -1
  300. package/dist/commands/context.js +353 -48
  301. package/dist/commands/context.js.map +1 -1
  302. package/dist/commands/proof.d.ts.map +1 -1
  303. package/dist/commands/proof.js +70 -12
  304. package/dist/commands/proof.js.map +1 -1
  305. package/dist/commands/rig.d.ts.map +1 -1
  306. package/dist/commands/rig.js +5 -0
  307. package/dist/commands/rig.js.map +1 -1
  308. package/dist/commands/transcript.d.ts.map +1 -1
  309. package/dist/commands/transcript.js +25 -1
  310. package/dist/commands/transcript.js.map +1 -1
  311. package/dist/commands/walk.d.ts.map +1 -1
  312. package/dist/commands/walk.js +279 -26
  313. package/dist/commands/walk.js.map +1 -1
  314. package/dist/config-store.d.ts +15 -1
  315. package/dist/config-store.d.ts.map +1 -1
  316. package/dist/config-store.js +35 -1
  317. package/dist/config-store.js.map +1 -1
  318. package/dist/lib/scope/logical-checkbox.d.ts +26 -0
  319. package/dist/lib/scope/logical-checkbox.d.ts.map +1 -0
  320. package/dist/lib/scope/logical-checkbox.js +65 -0
  321. package/dist/lib/scope/logical-checkbox.js.map +1 -0
  322. package/dist/lib/scope/scaffold-placeholder.d.ts +22 -0
  323. package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -1
  324. package/dist/lib/scope/scaffold-placeholder.js +24 -0
  325. package/dist/lib/scope/scaffold-placeholder.js.map +1 -1
  326. package/dist/lib/topology-trace.d.ts +36 -0
  327. package/dist/lib/topology-trace.d.ts.map +1 -0
  328. package/dist/lib/topology-trace.js +91 -0
  329. package/dist/lib/topology-trace.js.map +1 -0
  330. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  331. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +7 -4
  332. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  333. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js +2 -2
  334. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js.map +1 -1
  335. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +10 -2
  336. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
  337. package/node_modules/@openrig/daemon/dist/adapters/tmux.js +27 -7
  338. package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
  339. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts +18 -0
  340. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  341. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js +21 -0
  342. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js.map +1 -1
  343. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  344. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts +95 -0
  345. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  346. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js +171 -2
  347. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js.map +1 -1
  348. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
  349. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  350. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
  351. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  352. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  353. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
  354. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  355. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
  356. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
  357. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
  358. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
  359. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
  360. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
  361. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +125 -0
  362. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
  363. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
  364. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
  365. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
  366. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
  367. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
  368. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
  369. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
  370. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
  371. package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts +56 -0
  372. package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts.map +1 -0
  373. package/node_modules/@openrig/daemon/dist/domain/markdown-address.js +188 -0
  374. package/node_modules/@openrig/daemon/dist/domain/markdown-address.js.map +1 -0
  375. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +8 -2
  376. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  377. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +1 -1
  378. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  379. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +33 -21
  380. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  381. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js +64 -55
  382. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  383. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  384. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  385. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
  386. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  387. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
  388. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js +6 -1
  389. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js.map +1 -1
  390. package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts +25 -0
  391. package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts.map +1 -0
  392. package/node_modules/@openrig/daemon/dist/domain/process-census.js +47 -0
  393. package/node_modules/@openrig/daemon/dist/domain/process-census.js.map +1 -0
  394. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts +31 -2
  395. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  396. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js +64 -29
  397. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  398. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +5 -26
  399. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +1 -1
  400. package/node_modules/@openrig/daemon/dist/domain/review/compose.js +31 -57
  401. package/node_modules/@openrig/daemon/dist/domain/review/compose.js.map +1 -1
  402. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
  403. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  404. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +39 -0
  405. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  406. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  407. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +19 -3
  408. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
  409. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
  410. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
  411. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js +65 -0
  412. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
  413. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +1 -1
  414. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  415. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +2 -2
  416. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  417. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
  418. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
  419. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
  420. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
  421. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts +1 -0
  422. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  423. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js +39 -23
  424. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js.map +1 -1
  425. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +22 -0
  426. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  427. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +32 -2
  428. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +1 -1
  429. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts +8 -0
  430. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts.map +1 -1
  431. package/node_modules/@openrig/daemon/dist/domain/session-transport.js +116 -0
  432. package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
  433. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts +23 -0
  434. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
  435. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js +36 -0
  436. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js.map +1 -0
  437. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  438. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +10 -1
  439. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  440. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
  441. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
  442. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js +38 -0
  443. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
  444. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
  445. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  446. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js +38 -1
  447. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  448. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
  449. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
  450. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js +92 -0
  451. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
  452. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts +4 -0
  453. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  454. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js +61 -3
  455. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js.map +1 -1
  456. package/node_modules/@openrig/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  457. package/node_modules/@openrig/daemon/dist/domain/transcript-store.js +9 -2
  458. package/node_modules/@openrig/daemon/dist/domain/transcript-store.js.map +1 -1
  459. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +3 -0
  460. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  461. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +10 -1
  462. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  463. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +39 -0
  464. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  465. package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
  466. package/node_modules/@openrig/daemon/dist/routes/context-packs.js +205 -0
  467. package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
  468. package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
  469. package/node_modules/@openrig/daemon/dist/routes/seat.js +11 -0
  470. package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
  471. package/node_modules/@openrig/daemon/dist/routes/sessions.js +55 -0
  472. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
  473. package/node_modules/@openrig/daemon/dist/routes/transport.d.ts.map +1 -1
  474. package/node_modules/@openrig/daemon/dist/routes/transport.js +12 -3
  475. package/node_modules/@openrig/daemon/dist/routes/transport.js.map +1 -1
  476. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts +2 -0
  477. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
  478. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js +6 -0
  479. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js.map +1 -0
  480. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  481. package/node_modules/@openrig/daemon/dist/startup.js +37 -6
  482. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  483. package/node_modules/@openrig/daemon/package.json +6 -1
  484. package/package.json +1 -1
@@ -7,7 +7,7 @@
7
7
  // raw file list; each piece is one send into the pane.
8
8
  import { Command } from "commander";
9
9
  import { existsSync, readFileSync } from "node:fs";
10
- import { DaemonClient } from "../client.js";
10
+ import { DaemonClient, terminalAuthHeaders } from "../client.js";
11
11
  import { getDaemonStatus, getDaemonUrl, statusGuardMessage } from "../daemon-lifecycle.js";
12
12
  import { realDeps } from "./daemon.js";
13
13
  const DEFAULT_PACE_MS = 10_000;
@@ -32,8 +32,26 @@ export function walkCommand(depsOverride) {
32
32
  };
33
33
  cmd
34
34
  .argument("<seat>", "Target session name (e.g. dev-impl@my-rig)")
35
- .requiredOption("--through <items...>", "A context ref (a pack) OR a list of files to walk the seat through")
35
+ .option("--through <items...>", "A context ref (a pack) OR a list of files to walk the seat through")
36
+ // Test-A (row 782b467a) — the walk/profile join: consume the AUTHORITATIVE
37
+ // composed profile (never a hand-authored piece list) and report delivered
38
+ // pieces BY IDENTITY so the profile set and the delivered set are
39
+ // exact-comparable. NO-COPY: the bytes sent are the bytes the profile served.
40
+ .option("--through-profile <ref>", "Walk the seat through a pack's COMPOSED PROFILE (requires --situation; the piece set comes from rig context profile, never hand-authored)")
41
+ .option("--situation <situation>", "With --through-profile: fresh | handover | post-compaction")
42
+ .option("--runtime <runtime>", "With --through-profile: claude | codex (default claude)")
43
+ .option("--rig <rig>", "With --through-profile: the seat-tree grant (with --seat)")
44
+ .option("--seat-grant <seat>", "With --through-profile: the seat whose tree seat: atoms may read (with --rig)")
45
+ .option("--mission <mission>", "With --through-profile: the mission-tree grant")
46
+ .option("--budget <tokens>", "With --through-profile: situation budget (reported, never truncated)")
36
47
  .option("--pace <duration>", "Delay between pieces (e.g. 10s, 500ms, or a bare number of seconds); default 10s")
48
+ // Mechanics-gate fix (desk ruling d9b3989a): send success means TYPED, not CONSUMED — every
49
+ // piece is verified BY EFFECT against the seat's generation record before the next is sent.
50
+ .option("--consume-timeout <ms>", "Per-piece consumption-verification window in ms (default 20000)")
51
+ .option("--consume-poll <ms>", "Consumption-verification poll interval in ms (default 1500)")
52
+ // Turn-pacing (desk BLOCKING row 2ff16fa1): a piece sent into an OPEN turn is queued by the
53
+ // runtime and never becomes a distinct user turn — walk waits for the prior turn's closure.
54
+ .option("--turn-timeout <duration>", "Max wait for the seat's turn to CLOSE after a piece is consumed, before the next piece (same grammar as --pace; default 300s)")
37
55
  .option("--json", "JSON output")
38
56
  .addHelpText("after", `
39
57
  Examples:
@@ -55,49 +73,261 @@ the agent process between sends. Small piece → 'rig send'; a real pack → wal
55
73
  const fileExists = deps.fileExists ?? existsSync;
56
74
  const readFile = deps.readFile ?? ((p) => readFileSync(p, "utf-8"));
57
75
  const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
58
- // --through is EITHER a raw file list (every item is an existing file) OR a
59
- // single context ref (a pack → its ordered member pieces). A mix is rejected.
60
- const items = opts.through;
61
- let pieces;
62
- if (items.length > 0 && items.every((it) => fileExists(it))) {
63
- pieces = items.map((it) => ({ label: it, content: readFile(it) }));
76
+ // Exactly ONE input form: --through (files or pack ref) or
77
+ // --through-profile (the composed profile). A mix is rejected loud
78
+ // before any send.
79
+ if (opts.through && opts.throughProfile) {
80
+ console.error("Use either --through OR --through-profile, not both — the profile's piece set is authoritative and never hand-mixed.");
81
+ process.exitCode = 1;
82
+ return;
64
83
  }
65
- else if (items.length === 1) {
66
- pieces = await resolveRefPieces(deps, items[0]);
84
+ let profileIdentity = null;
85
+ let pieces;
86
+ if (opts.throughProfile) {
87
+ if (!opts.situation) {
88
+ console.error("--through-profile requires --situation (fresh | handover | post-compaction).");
89
+ process.exitCode = 1;
90
+ return;
91
+ }
92
+ const resolved = await resolveProfilePieces(deps, opts);
93
+ pieces = resolved.pieces;
94
+ profileIdentity = resolved.identity;
67
95
  }
68
- else {
69
- console.error("--through takes either a single context ref OR a list of existing files (not a mix).");
96
+ else if (!opts.through) {
97
+ console.error("Provide --through <items...> or --through-profile <ref>.");
70
98
  process.exitCode = 1;
71
99
  return;
72
100
  }
101
+ else {
102
+ // --through is EITHER a raw file list (every item is an existing file) OR a
103
+ // single context ref (a pack → its ordered member pieces). A mix is rejected.
104
+ const items = opts.through;
105
+ if (items.length > 0 && items.every((it) => fileExists(it))) {
106
+ pieces = items.map((it) => ({ label: it, content: readFile(it) }));
107
+ }
108
+ else if (items.length === 1) {
109
+ pieces = await resolveRefPieces(deps, items[0]);
110
+ }
111
+ else {
112
+ console.error("--through takes either a single context ref OR a list of existing files (not a mix).");
113
+ process.exitCode = 1;
114
+ return;
115
+ }
116
+ }
73
117
  if (pieces.length === 0) {
74
118
  console.error("Nothing to walk: --through resolved to zero pieces.");
75
119
  process.exitCode = 1;
76
120
  return;
77
121
  }
78
122
  const client = await getClient(deps);
123
+ // --- Consumption verification BY EFFECT (mechanics-gate fix, desk ruling d9b3989a) ---
124
+ // Send success means TYPED, not CONSUMED: the paste + Enter can succeed at the tmux layer
125
+ // while the target TUI leaves the text STAGED at the prompt, and the next pieces coalesce.
126
+ // The effect source is the seat's current-generation record (the append-only conversation
127
+ // JSONL): a consumed piece appears as a user-role record containing the piece's head.
128
+ // Same duration grammar as --pace (10s / 500ms / bare seconds); defaults 20s / 1.5s.
129
+ const consumeTimeoutMs = opts.consumeTimeout !== undefined ? parsePaceMs(opts.consumeTimeout) : 20_000;
130
+ const consumePollMs = opts.consumePoll !== undefined ? parsePaceMs(opts.consumePoll) : 1_500;
131
+ const turnTimeoutMs = opts.turnTimeout !== undefined ? parsePaceMs(opts.turnTimeout) : 300_000;
132
+ if (consumeTimeoutMs === null || consumePollMs === null || turnTimeoutMs === null) {
133
+ console.error("Invalid --consume-timeout / --consume-poll / --turn-timeout: use e.g. 20s, 1500ms, or a bare number of seconds.");
134
+ process.exitCode = 1;
135
+ return;
136
+ }
137
+ const normalize = (s) => s.replace(/\s+/g, "");
138
+ const pieceHead = (content) => normalize(content).slice(0, 64);
139
+ const recordPath = `/api/sessions/${encodeURIComponent(seat)}/generation-record`;
140
+ const readRecord = async (sinceBytes) => client.get(sinceBytes === undefined ? recordPath : `${recordPath}?sinceBytes=${sinceBytes}`, { headers: terminalAuthHeaders() });
141
+ /** Parse the record suffix: where (if anywhere) the piece's distinct user turn is, and
142
+ * whether a system/turn_duration CLOSURE record follows it (the capture atom's boundary —
143
+ * the turn-pacing gate's signal that the seat finished processing the piece). */
144
+ const analyzeSuffix = (suffix, head) => {
145
+ let consumedAt = -1;
146
+ const lines = suffix.split("\n");
147
+ for (let i = 0; i < lines.length; i++) {
148
+ const trimmed = lines[i].trim();
149
+ if (!trimmed)
150
+ continue;
151
+ let rec;
152
+ try {
153
+ rec = JSON.parse(trimmed);
154
+ }
155
+ catch {
156
+ continue;
157
+ }
158
+ if (consumedAt < 0 && rec.message?.role === "user") {
159
+ const c = rec.message.content;
160
+ const texts = typeof c === "string" ? [c] : Array.isArray(c) ? c.filter((b) => b.type === "text" && typeof b.text === "string").map((b) => b.text) : [];
161
+ if (texts.some((t) => normalize(t).includes(head)))
162
+ consumedAt = i;
163
+ continue;
164
+ }
165
+ if (consumedAt >= 0 && rec.type === "system" && rec.subtype === "turn_duration") {
166
+ return { consumed: true, turnClosed: true };
167
+ }
168
+ }
169
+ return { consumed: consumedAt >= 0, turnClosed: false };
170
+ };
171
+ const suffixShowsConsumed = (suffix, head) => analyzeSuffix(suffix, head).consumed;
172
+ // One pre-walk record probe decides the mode. No record (unsupported runtime / no sidecar /
173
+ // a daemon without the route) → legacy delivery with a NAMED advisory: unverified is
174
+ // disclosed, never silent.
175
+ let preProbe;
176
+ try {
177
+ preProbe = await readRecord();
178
+ }
179
+ catch (err) {
180
+ preProbe = { status: 0, data: { message: `generation-record probe failed: ${err.message}` } };
181
+ }
182
+ const verifiable = preProbe.status === 200 && typeof preProbe.data.generationId === "string";
183
+ if (!verifiable) {
184
+ console.error(`walk: consumption unverified for ${seat} — ${preProbe.data.message ?? preProbe.data.error ?? `generation record unavailable (HTTP ${preProbe.status})`}. Pieces are delivered without per-piece effect verification.`);
185
+ }
186
+ const failPiece = (i, label, why) => {
187
+ console.error(`walk aborted at piece ${i + 1}/${pieces.length} (${label}): ${why}`);
188
+ if (profileIdentity) {
189
+ console.log(JSON.stringify({ seat, delivered: profileIdentity.slice(0, i), expected: profileIdentity, aborted: profileIdentity[i] }));
190
+ }
191
+ process.exitCode = 1;
192
+ };
79
193
  for (let i = 0; i < pieces.length; i++) {
80
194
  const piece = pieces[i];
81
- const res = await client.post("/api/transport/send", {
82
- session: seat,
83
- text: piece.content,
84
- });
85
- if (res.status >= 400) {
86
- const err = res.data?.["error"] ?? `HTTP ${res.status}`;
87
- console.error(`walk aborted at piece ${i + 1}/${pieces.length} (${piece.label}): ${err}`);
88
- process.exitCode = 1;
89
- return;
195
+ const head = pieceHead(piece.content);
196
+ let preLen = 0;
197
+ let preGen;
198
+ if (verifiable) {
199
+ const pre = await readRecord();
200
+ if (pre.status !== 200 || typeof pre.data.generationId !== "string") {
201
+ failPiece(i, piece.label, `the seat's generation record became unreadable before the send (${pre.data.message ?? pre.data.error ?? `HTTP ${pre.status}`}).`);
202
+ return;
203
+ }
204
+ preGen = pre.data.generationId;
205
+ preLen = pre.data.totalBytes ?? 0;
206
+ }
207
+ // THE SEND. A thrown client error (a timeout) is NOT a failure yet — the daemon may have
208
+ // completed server-side; reconcile BY EFFECT below, never re-send (the fleet ledger's
209
+ // rule, productized). A definitive 4xx/5xx still aborts — EXCEPT submit_failed, which is
210
+ // exactly the staged-text state and takes the single-Enter retry path.
211
+ let sendOutcome;
212
+ try {
213
+ const res = await client.post("/api/transport/send", {
214
+ session: seat,
215
+ text: piece.content,
216
+ }, { headers: terminalAuthHeaders() });
217
+ if (res.status >= 400) {
218
+ if (res.data?.["reason"] === "submit_failed")
219
+ sendOutcome = "staged-suspect";
220
+ else {
221
+ failPiece(i, piece.label, res.data?.["error"] ?? `HTTP ${res.status}`);
222
+ return;
223
+ }
224
+ }
225
+ else
226
+ sendOutcome = "ok";
227
+ }
228
+ catch (err) {
229
+ if (!verifiable) {
230
+ failPiece(i, piece.label, `transport error with no way to reconcile by effect (no generation record): ${err.message}`);
231
+ return;
232
+ }
233
+ console.error(`walk: piece ${i + 1}/${pieces.length} transport error (${err.message}) — reconciling by effect, not re-sending.`);
234
+ sendOutcome = "staged-suspect";
235
+ }
236
+ if (verifiable) {
237
+ const pollConsumed = async () => {
238
+ const deadline = Date.now() + consumeTimeoutMs;
239
+ for (;;) {
240
+ const rec = await readRecord(preLen);
241
+ if (rec.status === 200 && typeof rec.data.generationId === "string") {
242
+ if (rec.data.generationId !== preGen)
243
+ return "generation-rolled";
244
+ if (suffixShowsConsumed(rec.data.suffix ?? "", head))
245
+ return "consumed";
246
+ }
247
+ if (Date.now() >= deadline)
248
+ return "timeout";
249
+ await sleep(consumePollMs);
250
+ }
251
+ };
252
+ let verdict = await pollConsumed();
253
+ if (verdict === "generation-rolled") {
254
+ failPiece(i, piece.label, "the seat's generation rolled mid-walk (a re-prime); the walk cannot continue into a different generation.");
255
+ return;
256
+ }
257
+ if (verdict === "timeout") {
258
+ // Not consumed in the window. Staged? — one capture decides; staged takes EXACTLY ONE
259
+ // submit retry (a guarded bare Enter), then one more verification window, then loud.
260
+ const cap = await client.post("/api/transport/capture", { session: seat, lines: 50 }, { headers: terminalAuthHeaders() });
261
+ const pane = cap.data?.["content"] ?? "";
262
+ // Staged evidence: the piece's own head (short pastes render inline, truncated) OR
263
+ // the TUI's pasted-text placeholder (large pastes render as "[Pasted text #N +X
264
+ // lines]", never their content — the real specimen's shape).
265
+ const stagedEvidence = cap.status === 200 && (normalize(pane).includes(head.slice(0, 24)) ||
266
+ /\[Pasted text #\d+ \+\d+ lines\]/.test(pane));
267
+ if (stagedEvidence) {
268
+ const enter = await client.post("/api/transport/send", {
269
+ session: seat,
270
+ submitOnly: true,
271
+ expectedStagedText: piece.content, // FULL bytes — the transport checks the rendered literal residual for contiguous containment
272
+ expectedStagedLineCount: piece.content.split("\n").length,
273
+ }, { headers: terminalAuthHeaders() });
274
+ if (enter.status >= 400) {
275
+ failPiece(i, piece.label, `typed but not consumed; the single submit retry was refused (${enter.data?.["error"] ?? `HTTP ${enter.status}`}).`);
276
+ return;
277
+ }
278
+ verdict = await pollConsumed();
279
+ if (verdict !== "consumed") {
280
+ failPiece(i, piece.label, `typed and staged, but not consumed even after the single submit retry — the piece never entered the seat's conversation record. Not re-sending (one retry is the contract).`);
281
+ return;
282
+ }
283
+ }
284
+ else {
285
+ failPiece(i, piece.label, `send reported ${sendOutcome === "ok" ? "success" : "a transport error"} but the piece is neither consumed in the generation record nor staged in the pane — delivery lost; consumption verification fails this walk closed.`);
286
+ return;
287
+ }
288
+ }
289
+ }
290
+ // TURN-PACING GATE (desk BLOCKING row 2ff16fa1): the piece is consumed, but sending the
291
+ // next one into a still-OPEN turn gets it QUEUED by the runtime (never a distinct user
292
+ // turn — the rerun's proven defect layer). Wait for the seat's turn to CLOSE — the
293
+ // system/turn_duration record after the piece's user turn (the capture atom's boundary)
294
+ // — before pacing to the next piece. N-of-N (r2 row b268b89b): the FINAL piece waits
295
+ // too — whatever follows the walk (rerun 4's seat-issued GET) meets the same open-turn
296
+ // queuing boundary. The wait is the install working as designed: a walk takes as long
297
+ // as the seat needs to actually read the pieces.
298
+ if (verifiable) {
299
+ const turnDeadline = Date.now() + turnTimeoutMs;
300
+ for (;;) {
301
+ const rec = await readRecord(preLen);
302
+ if (rec.status === 200 && typeof rec.data.generationId === "string") {
303
+ if (rec.data.generationId !== preGen) {
304
+ failPiece(i, piece.label, "the seat's generation rolled while waiting for its turn to close.");
305
+ return;
306
+ }
307
+ if (analyzeSuffix(rec.data.suffix ?? "", head).turnClosed)
308
+ break;
309
+ }
310
+ if (Date.now() >= turnDeadline) {
311
+ failPiece(i, piece.label, `consumed, but the seat's turn did not CLOSE within ${turnTimeoutMs}ms — refusing to send the next piece into an open turn (it would be queued, never a distinct user turn).`);
312
+ return;
313
+ }
314
+ await sleep(consumePollMs);
315
+ }
90
316
  }
91
317
  if (!opts.json)
92
- console.log(`[${i + 1}/${pieces.length}] sent ${piece.label} → ${seat}`);
318
+ console.log(`[${i + 1}/${pieces.length}] ${verifiable ? "consumed" : "sent"} ${piece.label} → ${seat}`);
93
319
  // Pace BETWEEN pieces only — never a trailing pause after the last.
94
320
  if (i < pieces.length - 1)
95
321
  await sleep(paceMs);
96
322
  }
97
- if (opts.json)
98
- console.log(JSON.stringify({ seat, pieces: pieces.length, paceMs }));
99
- else
100
- console.log(`Walked ${seat} through ${pieces.length} piece(s).`);
323
+ if (opts.json) {
324
+ console.log(JSON.stringify(profileIdentity
325
+ ? { seat, delivered: profileIdentity, paceMs, consumptionVerified: verifiable }
326
+ : { seat, pieces: pieces.length, paceMs, consumptionVerified: verifiable }));
327
+ }
328
+ else {
329
+ console.log(`Walked ${seat} through ${pieces.length} piece(s)${verifiable ? ", each consumption-verified by effect" : " (consumption unverified — no generation record)"}.`);
330
+ }
101
331
  }
102
332
  catch (err) {
103
333
  console.error(err.message);
@@ -114,6 +344,29 @@ the agent process between sends. Small piece → 'rig send'; a real pack → wal
114
344
  }
115
345
  return deps.clientFactory(getDaemonUrl(status));
116
346
  }
347
+ async function resolveProfilePieces(deps, opts) {
348
+ const client = await getClient(deps);
349
+ const params = new URLSearchParams({ ref: opts.throughProfile, situation: opts.situation, runtime: opts.runtime ?? "claude" });
350
+ if (opts.rig !== undefined)
351
+ params.set("rig", opts.rig);
352
+ if (opts.seatGrant !== undefined)
353
+ params.set("seat", opts.seatGrant);
354
+ if (opts.mission !== undefined)
355
+ params.set("mission", opts.mission);
356
+ if (opts.budget !== undefined)
357
+ params.set("budget", opts.budget);
358
+ const res = await client.get(`/api/context-packs/library/by-ref/profile?${params.toString()}`);
359
+ if (res.status !== 200) {
360
+ throw new Error(res.data?.message ?? res.data?.error ?? `Daemon returned HTTP ${res.status} composing the profile.`);
361
+ }
362
+ const profilePieces = res.data.pieces ?? [];
363
+ return {
364
+ // NO-COPY: content is the SERVED text, byte-for-byte; the label carries
365
+ // the identity so aborts name the atom.
366
+ pieces: profilePieces.map((p) => ({ label: `${p.atomId} (${p.address})`, content: p.text })),
367
+ identity: profilePieces.map((p) => ({ atomId: p.atomId, address: p.address })),
368
+ };
369
+ }
117
370
  async function resolveRefPieces(deps, ref) {
118
371
  const client = await getClient(deps);
119
372
  const res = await client.get(`/api/context-packs/library/by-ref/pieces?ref=${encodeURIComponent(ref)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"walk.js","sourceRoot":"","sources":["../../src/commands/walk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walk.js","sourceRoot":"","sources":["../../src/commands/walk.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,12 @@ export interface RiggedConfig {
25
25
  dogfoodEvidenceRoot: string;
26
26
  operatorSeatName: string;
27
27
  };
28
+ topology: {
29
+ root: string;
30
+ };
31
+ context: {
32
+ packsRoot: string;
33
+ };
28
34
  files: {
29
35
  allowlist: string;
30
36
  };
@@ -95,7 +101,15 @@ export interface RiggedConfig {
95
101
  batchSize: number;
96
102
  };
97
103
  }
98
- export declare const VALID_KEYS: readonly ["daemon.port", "daemon.host", "host.selected", "host.name", "workflow.exception_routing", "db.path", "transcripts.enabled", "transcripts.path", "transcripts.lines", "transcripts.poll_interval_seconds", "workspace.root", "workspace.slices_root", "workspace.steering_path", "workspace.field_notes_root", "workspace.specs_root", "workspace.dogfood_evidence_root", "files.allowlist", "progress.scan_roots", "ui.preview.refresh_interval_seconds", "ui.preview.max_pins", "ui.preview.default_lines", "recovery.auto_drive_provider_prompts", "recovery.provider_auth_env_allowlist", "agents.advisor_session", "agents.operator_session", "workspace.operator_seat_name", "feed.subscriptions.action_required", "feed.subscriptions.approvals", "feed.subscriptions.shipped", "feed.subscriptions.progress", "feed.subscriptions.audit_log", "runtime.codex.hooks_enabled", "policies.claude_compaction.enabled", "policies.claude_compaction.threshold_percent", "policies.claude_compaction.pre_compact_instruction", "policies.claude_compaction.compact_instruction", "policies.claude_compaction.message_inline", "policies.claude_compaction.message_file_path", "policies.claude_compaction.post_restore_audit_instruction", "policies.idle_gate_qitem.scan_interval_seconds", "policies.idle_gate_qitem.active_wake_interval_seconds", "policies.idle_gate_qitem.auto_register", "policies.idle_gate_qitem.opt_in_sessions", "snapshots.periodic.enabled", "snapshots.periodic.interval_seconds", "snapshots.periodic.retention_keep", "terminal.status_bar", "retention.enabled", "retention.transitions_days", "retention.watchdog_days", "retention.watchdog_keep_per_job", "retention.batch_size"];
104
+ /** OPR.0.5.3.6 twin of the daemon settings-store helper. The LEGACY topology
105
+ * location, kept readable (advisory-emitting fallback) so pre-convention rigs
106
+ * migrate instead of flag-daying. Resolves where legacy code ACTUALLY wrote —
107
+ * the codex adapter's shared-docs precedent (OPENRIG_SHARED_DOCS_ROOT env,
108
+ * else the literal ~/.openrig/shared-docs), NOT $OPENRIG_HOME: boxes with a
109
+ * non-default home still carry their legacy tree at ~/.openrig/shared-docs.
110
+ * This is the ONE CLI home for the literal; walkers import it and carry none. */
111
+ export declare function resolveLegacyTopologyRigsRoot(): string;
112
+ export declare const VALID_KEYS: readonly ["daemon.port", "daemon.host", "host.selected", "host.name", "workflow.exception_routing", "db.path", "transcripts.enabled", "transcripts.path", "transcripts.lines", "transcripts.poll_interval_seconds", "workspace.root", "workspace.slices_root", "workspace.steering_path", "workspace.field_notes_root", "workspace.specs_root", "workspace.dogfood_evidence_root", "topology.root", "context.packs_root", "files.allowlist", "progress.scan_roots", "ui.preview.refresh_interval_seconds", "ui.preview.max_pins", "ui.preview.default_lines", "recovery.auto_drive_provider_prompts", "recovery.provider_auth_env_allowlist", "agents.advisor_session", "agents.operator_session", "workspace.operator_seat_name", "feed.subscriptions.action_required", "feed.subscriptions.approvals", "feed.subscriptions.shipped", "feed.subscriptions.progress", "feed.subscriptions.audit_log", "runtime.codex.hooks_enabled", "policies.claude_compaction.enabled", "policies.claude_compaction.threshold_percent", "policies.claude_compaction.pre_compact_instruction", "policies.claude_compaction.compact_instruction", "policies.claude_compaction.message_inline", "policies.claude_compaction.message_file_path", "policies.claude_compaction.post_restore_audit_instruction", "policies.idle_gate_qitem.scan_interval_seconds", "policies.idle_gate_qitem.active_wake_interval_seconds", "policies.idle_gate_qitem.auto_register", "policies.idle_gate_qitem.opt_in_sessions", "snapshots.periodic.enabled", "snapshots.periodic.interval_seconds", "snapshots.periodic.retention_keep", "terminal.status_bar", "retention.enabled", "retention.transitions_days", "retention.watchdog_days", "retention.watchdog_keep_per_job", "retention.batch_size"];
99
113
  export type ValidKey = typeof VALID_KEYS[number];
100
114
  export declare const ENV_MAP: Record<ValidKey, {
101
115
  primary: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,20 @@
1
1
  import { readFileSync, writeFileSync, mkdirSync, unlinkSync, existsSync } from "node:fs";
2
2
  import { join, dirname } from "node:path";
3
- import { userInfo } from "node:os";
3
+ import { userInfo, homedir } from "node:os";
4
4
  import { getDefaultOpenRigPath, readOpenRigEnv, } from "./openrig-compat.js";
5
5
  const DEFAULT_WORKSPACE_ROOT = getDefaultOpenRigPath("workspace");
6
+ /** OPR.0.5.3.6 — twin of the daemon settings-store helper. The LEGACY topology
7
+ * location, kept readable (advisory-emitting fallback) so pre-convention rigs
8
+ * migrate instead of flag-daying. Resolves where legacy code ACTUALLY wrote —
9
+ * the codex adapter's shared-docs precedent (OPENRIG_SHARED_DOCS_ROOT env,
10
+ * else the literal ~/.openrig/shared-docs), NOT $OPENRIG_HOME: boxes with a
11
+ * non-default home still carry their legacy tree at ~/.openrig/shared-docs.
12
+ * This is the ONE CLI home for the literal; walkers import it and carry none. */
13
+ export function resolveLegacyTopologyRigsRoot() {
14
+ const sharedDocsRoot = process.env["OPENRIG_SHARED_DOCS_ROOT"]?.trim()
15
+ || join(homedir(), ".openrig", "shared-docs");
16
+ return join(sharedDocsRoot, "rigs");
17
+ }
6
18
  const DEFAULT_CLAUDE_COMPACTION_PRE_COMPACT_INSTRUCTION = "Read the claude-compaction-restore skill and follow its \"If You Are About To Compact\" protocol. Create or update the mental-model restore map before compaction. If you are in the middle of a tiny atomic step, finish that step first; otherwise this preparation is the next priority.";
7
19
  const DEFAULT_CLAUDE_COMPACTION_COMPACT_INSTRUCTION = "";
8
20
  const DEFAULT_CLAUDE_COMPACTION_RESTORE_INSTRUCTION = "Read the claude-compaction-restore skill and follow its \"If You Just Compacted\" protocol.";
@@ -28,6 +40,10 @@ const DEFAULTS = {
28
40
  // module-load time.
29
41
  operatorSeatName: "",
30
42
  },
43
+ // OPR.0.5.3.6 D1 — derived under the OpenRig home, never a shared-docs literal.
44
+ topology: { root: getDefaultOpenRigPath("topology") },
45
+ // OPR.0.5.3.7 R4 — derived under the OpenRig home, never a shared-docs literal.
46
+ context: { packsRoot: getDefaultOpenRigPath("context-packs") },
31
47
  files: { allowlist: "" },
32
48
  progress: { scanRoots: "" },
33
49
  ui: {
@@ -139,6 +155,13 @@ export const VALID_KEYS = [
139
155
  "workspace.field_notes_root",
140
156
  "workspace.specs_root",
141
157
  "workspace.dogfood_evidence_root",
158
+ // OPR.0.5.3.6 D1 — the topology tree root; lockstep with the daemon
159
+ // settings-store twin. Derived default $OPENRIG_HOME/topology; the legacy
160
+ // shared-docs/rigs location stays readable via the daemon's
161
+ // resolveLegacyTopologyRigsRoot fallback (advisory-emitting).
162
+ "topology.root",
163
+ // OPR.0.5.3.7 R4 — context-pack landing zone; lockstep with the daemon twin.
164
+ "context.packs_root",
142
165
  "files.allowlist",
143
166
  "progress.scan_roots",
144
167
  "ui.preview.refresh_interval_seconds",
@@ -213,6 +236,9 @@ export const ENV_MAP = {
213
236
  "workspace.field_notes_root": { primary: "OPENRIG_WORKSPACE_FIELD_NOTES_ROOT" },
214
237
  "workspace.specs_root": { primary: "OPENRIG_WORKSPACE_SPECS_ROOT" },
215
238
  "workspace.dogfood_evidence_root": { primary: "OPENRIG_DOGFOOD_EVIDENCE_ROOT" },
239
+ "topology.root": { primary: "OPENRIG_TOPOLOGY_ROOT" },
240
+ // OPR.0.5.3.7 R4 — new key, OPENRIG_* only (no RIGGED_* legacy).
241
+ "context.packs_root": { primary: "OPENRIG_CONTEXT_PACKS_ROOT" },
216
242
  // UEP env-var graduation: existing OPENRIG_FILES_ALLOWLIST /
217
243
  // OPENRIG_PROGRESS_SCAN_ROOTS become the env override for the new
218
244
  // typed keys (no breaking change).
@@ -280,6 +306,8 @@ const KEY_TO_PATH = {
280
306
  "workspace.field_notes_root": ["workspace", "fieldNotesRoot"],
281
307
  "workspace.specs_root": ["workspace", "specsRoot"],
282
308
  "workspace.dogfood_evidence_root": ["workspace", "dogfoodEvidenceRoot"],
309
+ "topology.root": ["topology", "root"],
310
+ "context.packs_root": ["context", "packsRoot"],
283
311
  "files.allowlist": ["files", "allowlist"],
284
312
  "progress.scan_roots": ["progress", "scanRoots"],
285
313
  "ui.preview.refresh_interval_seconds": ["ui", "preview", "refreshIntervalSeconds"],
@@ -611,6 +639,12 @@ export class ConfigStore {
611
639
  dogfoodEvidenceRoot: v("workspace.dogfood_evidence_root"),
612
640
  operatorSeatName: v("workspace.operator_seat_name"),
613
641
  },
642
+ topology: {
643
+ root: v("topology.root"),
644
+ },
645
+ context: {
646
+ packsRoot: v("context.packs_root"),
647
+ },
614
648
  files: {
615
649
  allowlist: v("files.allowlist"),
616
650
  },