@openrig/cli 0.5.1 → 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 (859) hide show
  1. package/daemon/assets/guidance/openrig-start.md +21 -64
  2. package/daemon/assets/plugins/openrig-core/hooks/claude.json +36 -0
  3. package/daemon/assets/plugins/openrig-core/hooks/codex.json +27 -0
  4. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +132 -0
  5. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +35 -3
  6. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +8 -95
  7. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +63 -20
  8. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +6 -2
  9. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +28 -2
  10. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +42 -52
  11. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +23 -1
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +7 -2
  13. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +64 -0
  14. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +235 -0
  15. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +31 -1
  16. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/CHANGELOG.md +48 -0
  17. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +211 -0
  18. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +8 -0
  19. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +28 -1
  20. package/daemon/context-packs/skills/core/agent-starters/SKILL.md +132 -0
  21. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +9 -0
  22. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +112 -0
  23. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +9 -0
  24. package/daemon/context-packs/skills/core/attention-queue/SKILL.md +264 -0
  25. package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +9 -0
  26. package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +195 -0
  27. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +9 -0
  28. package/daemon/context-packs/skills/core/human-in-the-loop/SKILL.md +104 -0
  29. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +9 -0
  30. package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +378 -0
  31. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +9 -0
  32. package/daemon/context-packs/skills/core/openrig-cmux/SKILL.md +81 -0
  33. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +9 -0
  34. package/daemon/context-packs/skills/core/openrig-herdr/SKILL.md +153 -0
  35. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +9 -0
  36. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +460 -0
  37. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +9 -0
  38. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
  39. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +9 -0
  40. package/daemon/context-packs/skills/core/rig-lifecycle/SKILL.md +127 -0
  41. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +9 -0
  42. package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +160 -0
  43. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +9 -0
  44. package/daemon/context-packs/skills/core/specification-system/SKILL.md +103 -0
  45. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +9 -0
  46. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
  47. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +9 -0
  48. package/daemon/context-packs/skills/core/watchdog/SKILL.md +126 -0
  49. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +9 -0
  50. package/daemon/context-packs/skills/pm/backlog-capture/SKILL.md +43 -0
  51. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +9 -0
  52. package/daemon/context-packs/skills/pm/context-builder/SKILL.md +87 -0
  53. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +9 -0
  54. package/daemon/context-packs/skills/pm/exec-summary/SKILL.md +84 -0
  55. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +9 -0
  56. package/daemon/context-packs/skills/pm/office-hours/SKILL.md +129 -0
  57. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +9 -0
  58. package/daemon/context-packs/skills/pm/plan-review/SKILL.md +98 -0
  59. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +9 -0
  60. package/daemon/context-packs/skills/pm/requirements-writer/SKILL.md +113 -0
  61. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +9 -0
  62. package/daemon/context-packs/skills/pm/ui-mockup/SKILL.md +76 -0
  63. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +9 -0
  64. package/daemon/context-packs/skills/pods/development-team/SKILL.md +156 -0
  65. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +9 -0
  66. package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +307 -0
  67. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +9 -0
  68. package/daemon/context-packs/skills/pods/oversight-team/SKILL.md +106 -0
  69. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +9 -0
  70. package/daemon/context-packs/skills/pods/review-team/SKILL.md +213 -0
  71. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +9 -0
  72. package/daemon/context-packs/skills/process/agent-browser/LOCAL-INSIGHTS.md +189 -0
  73. package/daemon/context-packs/skills/process/agent-browser/OPENRIG.md +40 -0
  74. package/daemon/context-packs/skills/process/agent-browser/SKILL.md +427 -0
  75. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +13 -0
  76. package/daemon/context-packs/skills/process/brainstorming/OPENRIG.md +48 -0
  77. package/daemon/context-packs/skills/process/brainstorming/SKILL.md +107 -0
  78. package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +11 -0
  79. package/daemon/context-packs/skills/process/context-engineering/SKILL.md +479 -0
  80. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +9 -0
  81. package/daemon/context-packs/skills/process/dogfood/SKILL.md +225 -0
  82. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +13 -0
  83. package/daemon/context-packs/skills/process/dogfood/references/issue-taxonomy.md +109 -0
  84. package/daemon/context-packs/skills/process/dogfood/templates/dogfood-report-template.md +53 -0
  85. package/daemon/context-packs/skills/process/executing-plans/OPENRIG.md +56 -0
  86. package/daemon/context-packs/skills/process/executing-plans/SKILL.md +94 -0
  87. package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +11 -0
  88. package/daemon/context-packs/skills/process/frontend-design/LICENSE.txt +177 -0
  89. package/daemon/context-packs/skills/process/frontend-design/SKILL.md +50 -0
  90. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +11 -0
  91. package/daemon/context-packs/skills/process/systematic-debugging/SKILL.md +301 -0
  92. package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting-example.ts +158 -0
  93. package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting.md +115 -0
  94. package/daemon/context-packs/skills/process/systematic-debugging/defense-in-depth.md +122 -0
  95. package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +63 -0
  96. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +19 -0
  97. package/daemon/context-packs/skills/process/systematic-debugging/root-cause-tracing.md +169 -0
  98. package/daemon/context-packs/skills/process/test-driven-development/SKILL.md +385 -0
  99. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +11 -0
  100. package/daemon/context-packs/skills/process/test-driven-development/testing-anti-patterns.md +299 -0
  101. package/daemon/context-packs/skills/process/using-superpowers/OPENRIG.md +48 -0
  102. package/daemon/context-packs/skills/process/using-superpowers/SKILL.md +106 -0
  103. package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +11 -0
  104. package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +155 -0
  105. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +9 -0
  106. package/daemon/context-packs/skills/process/writing-plans/OPENRIG.md +52 -0
  107. package/daemon/context-packs/skills/process/writing-plans/SKILL.md +126 -0
  108. package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +11 -0
  109. package/daemon/context-packs/world/install/01-world-from-primitives.md +97 -0
  110. package/daemon/context-packs/world/install/02-permission-self-sleep.md +141 -0
  111. package/daemon/context-packs/world/install/03-what-this-is-for.md +86 -0
  112. package/daemon/context-packs/world/install/04-ontology.md +790 -0
  113. package/daemon/context-packs/world/install/05-harness-power-use.md +355 -0
  114. package/daemon/context-packs/world/install/06-a-competent-turn.md +225 -0
  115. package/daemon/context-packs/world/install/manifest.yaml +125 -0
  116. package/daemon/context-packs/world/install/reference-material.md +125 -0
  117. package/daemon/context-packs/world/install/what-you-can-do.md +416 -0
  118. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  119. package/daemon/dist/adapters/claude-code-adapter.js +7 -4
  120. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  121. package/daemon/dist/adapters/claude-resume.js +2 -2
  122. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  123. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +11 -2
  124. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  125. package/daemon/dist/adapters/codex-runtime-adapter.js +18 -10
  126. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  127. package/daemon/dist/adapters/tmux.d.ts +10 -2
  128. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  129. package/daemon/dist/adapters/tmux.js +27 -7
  130. package/daemon/dist/adapters/tmux.js.map +1 -1
  131. package/daemon/dist/adapters/yolo-mode.d.ts +18 -0
  132. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  133. package/daemon/dist/adapters/yolo-mode.js +21 -0
  134. package/daemon/dist/adapters/yolo-mode.js.map +1 -1
  135. package/daemon/dist/build-info.js +3 -3
  136. package/daemon/dist/domain/codex-thread-id.d.ts +100 -2
  137. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  138. package/daemon/dist/domain/codex-thread-id.js +180 -6
  139. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  140. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
  141. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  142. package/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
  143. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  144. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  145. package/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
  146. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  147. package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
  148. package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
  149. package/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
  150. package/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
  151. package/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
  152. package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
  153. package/daemon/dist/domain/context-packs/profile-composer.js +125 -0
  154. package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
  155. package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
  156. package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
  157. package/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
  158. package/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
  159. package/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
  160. package/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
  161. package/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
  162. package/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
  163. package/daemon/dist/domain/crash-cart-conductor.d.ts +173 -0
  164. package/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -0
  165. package/daemon/dist/domain/crash-cart-conductor.js +233 -0
  166. package/daemon/dist/domain/crash-cart-conductor.js.map +1 -0
  167. package/daemon/dist/domain/crash-cart-probes.d.ts +7 -6
  168. package/daemon/dist/domain/crash-cart-probes.d.ts.map +1 -1
  169. package/daemon/dist/domain/crash-cart-probes.js +57 -7
  170. package/daemon/dist/domain/crash-cart-probes.js.map +1 -1
  171. package/daemon/dist/domain/hosts/fanout-contract.d.ts +4 -0
  172. package/daemon/dist/domain/hosts/fanout-contract.d.ts.map +1 -1
  173. package/daemon/dist/domain/hosts/fanout-contract.js +15 -0
  174. package/daemon/dist/domain/hosts/fanout-contract.js.map +1 -1
  175. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +11 -0
  176. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  177. package/daemon/dist/domain/hosts/hosts-registry-reader.js +34 -1
  178. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  179. package/daemon/dist/domain/markdown-address.d.ts +56 -0
  180. package/daemon/dist/domain/markdown-address.d.ts.map +1 -0
  181. package/daemon/dist/domain/markdown-address.js +188 -0
  182. package/daemon/dist/domain/markdown-address.js.map +1 -0
  183. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +73 -0
  184. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -0
  185. package/daemon/dist/domain/model-divergence/current-generation-record.js +204 -0
  186. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -0
  187. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +13 -0
  188. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -0
  189. package/daemon/dist/domain/model-divergence/effective-model-readers.js +163 -0
  190. package/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -0
  191. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +125 -0
  192. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -0
  193. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +199 -0
  194. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -0
  195. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  196. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  197. package/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
  198. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  199. package/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
  200. package/daemon/dist/domain/permission-drift-observer.js +6 -1
  201. package/daemon/dist/domain/permission-drift-observer.js.map +1 -1
  202. package/daemon/dist/domain/predecessor-recap-resolver.d.ts +10 -3
  203. package/daemon/dist/domain/predecessor-recap-resolver.d.ts.map +1 -1
  204. package/daemon/dist/domain/predecessor-recap-resolver.js +61 -14
  205. package/daemon/dist/domain/predecessor-recap-resolver.js.map +1 -1
  206. package/daemon/dist/domain/process-census.d.ts +25 -0
  207. package/daemon/dist/domain/process-census.d.ts.map +1 -0
  208. package/daemon/dist/domain/process-census.js +47 -0
  209. package/daemon/dist/domain/process-census.js.map +1 -0
  210. package/daemon/dist/domain/resume-metadata-refresher.d.ts +41 -3
  211. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  212. package/daemon/dist/domain/resume-metadata-refresher.js +74 -31
  213. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  214. package/daemon/dist/domain/review/compose.d.ts +5 -26
  215. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  216. package/daemon/dist/domain/review/compose.js +31 -57
  217. package/daemon/dist/domain/review/compose.js.map +1 -1
  218. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  219. package/daemon/dist/domain/review/gather.js +3 -2
  220. package/daemon/dist/domain/review/gather.js.map +1 -1
  221. package/daemon/dist/domain/{rig-policy/rig-policy-defaults.d.ts → rig-mode/rig-mode-defaults.d.ts} +2 -2
  222. package/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -0
  223. package/daemon/dist/domain/{rig-policy/rig-policy-defaults.js → rig-mode/rig-mode-defaults.js} +1 -1
  224. package/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -0
  225. package/{node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-store.d.ts → daemon/dist/domain/rig-mode/rig-mode-store.d.ts} +6 -6
  226. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -0
  227. package/daemon/dist/domain/{rig-policy/rig-policy-store.js → rig-mode/rig-mode-store.js} +5 -5
  228. package/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -0
  229. package/daemon/dist/domain/{rig-policy/rig-policy-types.d.ts → rig-mode/rig-mode-types.d.ts} +1 -1
  230. package/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -0
  231. package/{node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-types.js → daemon/dist/domain/rig-mode/rig-mode-types.js} +1 -1
  232. package/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -0
  233. package/{node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts → daemon/dist/domain/rig-mode/rig-mode-validator.d.ts} +2 -2
  234. package/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts.map +1 -0
  235. package/daemon/dist/domain/{rig-policy/rig-policy-validator.js → rig-mode/rig-mode-validator.js} +3 -3
  236. package/daemon/dist/domain/rig-mode/rig-mode-validator.js.map +1 -0
  237. package/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
  238. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  239. package/daemon/dist/domain/rigspec-instantiator.js +39 -0
  240. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  241. package/daemon/dist/domain/rigspec-schema.d.ts +7 -0
  242. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  243. package/daemon/dist/domain/rigspec-schema.js +25 -2
  244. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  245. package/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
  246. package/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
  247. package/daemon/dist/domain/scope/logical-checkbox.js +65 -0
  248. package/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
  249. package/daemon/dist/domain/scope/node-file.d.ts +37 -0
  250. package/daemon/dist/domain/scope/node-file.d.ts.map +1 -0
  251. package/daemon/dist/domain/scope/node-file.js +55 -0
  252. package/daemon/dist/domain/scope/node-file.js.map +1 -0
  253. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +12 -1
  254. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  255. package/daemon/dist/domain/scope/plan-lock-artifacts.js +42 -2
  256. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  257. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
  258. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
  259. package/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
  260. package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
  261. package/daemon/dist/domain/scope/scope-approve.d.ts +4 -0
  262. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  263. package/daemon/dist/domain/scope/scope-approve.js +56 -7
  264. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  265. package/daemon/dist/domain/scope/scope-audit.d.ts +1 -1
  266. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  267. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  268. package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  269. package/daemon/dist/domain/scope/scope-view-projection.js +5 -2
  270. package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  271. package/daemon/dist/domain/seat-activity-service.d.ts +1 -0
  272. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  273. package/daemon/dist/domain/seat-activity-service.js +39 -23
  274. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  275. package/daemon/dist/domain/seat-handover-service.d.ts +54 -15
  276. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  277. package/daemon/dist/domain/seat-handover-service.js +74 -19
  278. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  279. package/daemon/dist/domain/seat-identity-reconciler.d.ts +17 -0
  280. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  281. package/daemon/dist/domain/seat-identity-reconciler.js +22 -0
  282. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  283. package/daemon/dist/domain/session-jsonl.js +1 -1
  284. package/daemon/dist/domain/session-jsonl.js.map +1 -1
  285. package/daemon/dist/domain/session-transport.d.ts +8 -0
  286. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  287. package/daemon/dist/domain/session-transport.js +116 -0
  288. package/daemon/dist/domain/session-transport.js.map +1 -1
  289. package/daemon/dist/domain/shell-classifier.d.ts +23 -0
  290. package/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
  291. package/daemon/dist/domain/shell-classifier.js +36 -0
  292. package/daemon/dist/domain/shell-classifier.js.map +1 -0
  293. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  294. package/daemon/dist/domain/slices/slice-detail-projector.js +24 -3
  295. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  296. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  297. package/daemon/dist/domain/slices/slice-indexer.js +16 -3
  298. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  299. package/daemon/dist/domain/spec-live-conformance.d.ts +22 -0
  300. package/daemon/dist/domain/spec-live-conformance.d.ts.map +1 -1
  301. package/daemon/dist/domain/spec-live-conformance.js +35 -0
  302. package/daemon/dist/domain/spec-live-conformance.js.map +1 -1
  303. package/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
  304. package/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
  305. package/daemon/dist/domain/spec-validation-advisory.js +38 -0
  306. package/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
  307. package/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
  308. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  309. package/daemon/dist/domain/successor-session-launcher.js +38 -1
  310. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  311. package/daemon/dist/domain/sync-site-wrap.d.ts +9 -0
  312. package/daemon/dist/domain/sync-site-wrap.d.ts.map +1 -1
  313. package/daemon/dist/domain/sync-site-wrap.js +11 -0
  314. package/daemon/dist/domain/sync-site-wrap.js.map +1 -1
  315. package/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
  316. package/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
  317. package/daemon/dist/domain/topology-defaults-installer.js +92 -0
  318. package/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
  319. package/daemon/dist/domain/transcript-rotation.d.ts +4 -0
  320. package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  321. package/daemon/dist/domain/transcript-rotation.js +61 -3
  322. package/daemon/dist/domain/transcript-rotation.js.map +1 -1
  323. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  324. package/daemon/dist/domain/transcript-store.js +9 -2
  325. package/daemon/dist/domain/transcript-store.js.map +1 -1
  326. package/daemon/dist/domain/types.d.ts +18 -0
  327. package/daemon/dist/domain/types.d.ts.map +1 -1
  328. package/daemon/dist/domain/types.js.map +1 -1
  329. package/daemon/dist/domain/user-settings/settings-store.d.ts +10 -1
  330. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  331. package/daemon/dist/domain/user-settings/settings-store.js +59 -0
  332. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  333. package/daemon/dist/domain/watchdog-auto-registration.d.ts +7 -0
  334. package/daemon/dist/domain/watchdog-auto-registration.d.ts.map +1 -1
  335. package/daemon/dist/domain/watchdog-auto-registration.js +27 -0
  336. package/daemon/dist/domain/watchdog-auto-registration.js.map +1 -1
  337. package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  338. package/daemon/dist/domain/workspace/workspace-doctor.js +4 -3
  339. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  340. package/daemon/dist/routes/activity.js +11 -2
  341. package/daemon/dist/routes/activity.js.map +1 -1
  342. package/daemon/dist/routes/bundles.d.ts +27 -0
  343. package/daemon/dist/routes/bundles.d.ts.map +1 -1
  344. package/daemon/dist/routes/bundles.js +107 -26
  345. package/daemon/dist/routes/bundles.js.map +1 -1
  346. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  347. package/daemon/dist/routes/context-packs.js +205 -0
  348. package/daemon/dist/routes/context-packs.js.map +1 -1
  349. package/daemon/dist/routes/crash-cart.d.ts +4 -0
  350. package/daemon/dist/routes/crash-cart.d.ts.map +1 -0
  351. package/daemon/dist/routes/crash-cart.js +144 -0
  352. package/daemon/dist/routes/crash-cart.js.map +1 -0
  353. package/daemon/dist/routes/missions.d.ts.map +1 -1
  354. package/daemon/dist/routes/missions.js +10 -6
  355. package/daemon/dist/routes/missions.js.map +1 -1
  356. package/daemon/dist/routes/{rig-policy.d.ts → rig-mode.d.ts} +3 -3
  357. package/daemon/dist/routes/rig-mode.d.ts.map +1 -0
  358. package/{node_modules/@openrig/daemon/dist/routes/rig-policy.js → daemon/dist/routes/rig-mode.js} +13 -13
  359. package/daemon/dist/routes/rig-mode.js.map +1 -0
  360. package/daemon/dist/routes/scope-approve.d.ts.map +1 -1
  361. package/daemon/dist/routes/scope-approve.js +4 -0
  362. package/daemon/dist/routes/scope-approve.js.map +1 -1
  363. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  364. package/daemon/dist/routes/scope-audit.js +29 -2
  365. package/daemon/dist/routes/scope-audit.js.map +1 -1
  366. package/daemon/dist/routes/seat.d.ts.map +1 -1
  367. package/daemon/dist/routes/seat.js +18 -2
  368. package/daemon/dist/routes/seat.js.map +1 -1
  369. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  370. package/daemon/dist/routes/sessions.js +66 -1
  371. package/daemon/dist/routes/sessions.js.map +1 -1
  372. package/daemon/dist/routes/transport.d.ts.map +1 -1
  373. package/daemon/dist/routes/transport.js +12 -3
  374. package/daemon/dist/routes/transport.js.map +1 -1
  375. package/daemon/dist/seat-recap-store-surface.d.ts +2 -0
  376. package/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
  377. package/daemon/dist/seat-recap-store-surface.js +6 -0
  378. package/daemon/dist/seat-recap-store-surface.js.map +1 -0
  379. package/daemon/dist/server.d.ts +3 -1
  380. package/daemon/dist/server.d.ts.map +1 -1
  381. package/daemon/dist/server.js +15 -5
  382. package/daemon/dist/server.js.map +1 -1
  383. package/daemon/dist/startup.d.ts.map +1 -1
  384. package/daemon/dist/startup.js +166 -6
  385. package/daemon/dist/startup.js.map +1 -1
  386. package/daemon/docs/reference/chain-file-convention.md +115 -0
  387. package/daemon/docs/reference/legacy-topology-migration.md +53 -0
  388. package/daemon/docs/reference/refocus-channel.md +80 -0
  389. package/daemon/docs/reference/sdlc-conventions.md +24 -0
  390. package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +1 -1
  391. package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +1 -1
  392. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +1 -1
  393. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +4 -4
  394. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +8 -0
  395. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +72 -31
  396. package/daemon/specs/agents/shared/skills/pods/oversight-team/SKILL.md +106 -0
  397. package/daemon/specs/agents/shared/skills/process/context-engineering/SKILL.md +479 -0
  398. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +9 -0
  399. package/daemon/specs/rigs/launch/demo/project-example/README.md +25 -0
  400. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/SPEC.md +19 -0
  401. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROGRESS.md +6 -0
  402. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROOF.md +7 -0
  403. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/SPEC.md +31 -0
  404. package/daemon/specs/rigs/preview/product-team/topology/instance/CRAFT.md +24 -0
  405. package/daemon/specs/rigs/preview/product-team/topology/rig/CRAFT.md +21 -0
  406. package/daemon/specs/rigs/preview/product-team/topology/rig/ORCHESTRATION-CRAFT.md +50 -0
  407. package/daemon/specs/rigs/preview/product-team/topology/seats/dev1-qa/CRAFT.md +13 -0
  408. package/daemon/specs/rigs/preview/product-team/topology/seats/orch1-lead/CRAFT.md +17 -0
  409. package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r1/CRAFT.md +17 -0
  410. package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r2/CRAFT.md +15 -0
  411. package/dist/build-info.js +3 -3
  412. package/dist/commands/bundle.d.ts.map +1 -1
  413. package/dist/commands/bundle.js +6 -0
  414. package/dist/commands/bundle.js.map +1 -1
  415. package/dist/commands/capture.d.ts.map +1 -1
  416. package/dist/commands/capture.js +2 -0
  417. package/dist/commands/capture.js.map +1 -1
  418. package/dist/commands/config.d.ts.map +1 -1
  419. package/dist/commands/config.js +8 -0
  420. package/dist/commands/config.js.map +1 -1
  421. package/dist/commands/context.d.ts.map +1 -1
  422. package/dist/commands/context.js +353 -48
  423. package/dist/commands/context.js.map +1 -1
  424. package/dist/commands/crash-cart.d.ts.map +1 -1
  425. package/dist/commands/crash-cart.js.map +1 -1
  426. package/dist/commands/host.d.ts +5 -0
  427. package/dist/commands/host.d.ts.map +1 -1
  428. package/dist/commands/host.js +59 -3
  429. package/dist/commands/host.js.map +1 -1
  430. package/dist/commands/policy.d.ts +5 -0
  431. package/dist/commands/policy.d.ts.map +1 -0
  432. package/dist/commands/policy.js +307 -0
  433. package/dist/commands/policy.js.map +1 -0
  434. package/dist/commands/proof.d.ts.map +1 -1
  435. package/dist/commands/proof.js +70 -12
  436. package/dist/commands/proof.js.map +1 -1
  437. package/dist/commands/ps.d.ts +4 -0
  438. package/dist/commands/ps.d.ts.map +1 -1
  439. package/dist/commands/ps.js +4 -0
  440. package/dist/commands/ps.js.map +1 -1
  441. package/dist/commands/{rig-policy.d.ts → rig-mode.d.ts} +3 -3
  442. package/dist/commands/rig-mode.d.ts.map +1 -0
  443. package/dist/commands/{rig-policy.js → rig-mode.js} +17 -17
  444. package/dist/commands/rig-mode.js.map +1 -0
  445. package/dist/commands/rig.d.ts.map +1 -1
  446. package/dist/commands/rig.js +5 -0
  447. package/dist/commands/rig.js.map +1 -1
  448. package/dist/commands/scope.d.ts.map +1 -1
  449. package/dist/commands/scope.js +58 -16
  450. package/dist/commands/scope.js.map +1 -1
  451. package/dist/commands/send.d.ts.map +1 -1
  452. package/dist/commands/send.js +2 -0
  453. package/dist/commands/send.js.map +1 -1
  454. package/dist/commands/setup.d.ts +13 -0
  455. package/dist/commands/setup.d.ts.map +1 -1
  456. package/dist/commands/setup.js +3 -3
  457. package/dist/commands/setup.js.map +1 -1
  458. package/dist/commands/transcript.d.ts.map +1 -1
  459. package/dist/commands/transcript.js +27 -1
  460. package/dist/commands/transcript.js.map +1 -1
  461. package/dist/commands/walk.d.ts.map +1 -1
  462. package/dist/commands/walk.js +279 -26
  463. package/dist/commands/walk.js.map +1 -1
  464. package/dist/commands/whoami.d.ts.map +1 -1
  465. package/dist/commands/whoami.js +11 -1
  466. package/dist/commands/whoami.js.map +1 -1
  467. package/dist/config-store.d.ts +17 -1
  468. package/dist/config-store.d.ts.map +1 -1
  469. package/dist/config-store.js +53 -1
  470. package/dist/config-store.js.map +1 -1
  471. package/dist/cross-host-target.d.ts +8 -1
  472. package/dist/cross-host-target.d.ts.map +1 -1
  473. package/dist/cross-host-target.js +23 -4
  474. package/dist/cross-host-target.js.map +1 -1
  475. package/dist/daemon-lifecycle.d.ts +10 -1
  476. package/dist/daemon-lifecycle.d.ts.map +1 -1
  477. package/dist/daemon-lifecycle.js +26 -1
  478. package/dist/daemon-lifecycle.js.map +1 -1
  479. package/dist/front-door.d.ts.map +1 -1
  480. package/dist/front-door.js +11 -1
  481. package/dist/front-door.js.map +1 -1
  482. package/dist/host-bindings.d.ts +62 -0
  483. package/dist/host-bindings.d.ts.map +1 -0
  484. package/dist/host-bindings.js +147 -0
  485. package/dist/host-bindings.js.map +1 -0
  486. package/dist/host-registry.d.ts +14 -1
  487. package/dist/host-registry.d.ts.map +1 -1
  488. package/dist/host-registry.js +30 -2
  489. package/dist/host-registry.js.map +1 -1
  490. package/dist/index.d.ts +2 -2
  491. package/dist/index.d.ts.map +1 -1
  492. package/dist/index.js +5 -2
  493. package/dist/index.js.map +1 -1
  494. package/dist/lib/hosts/fanout-contract.d.ts +4 -0
  495. package/dist/lib/hosts/fanout-contract.d.ts.map +1 -1
  496. package/dist/lib/hosts/fanout-contract.js +15 -0
  497. package/dist/lib/hosts/fanout-contract.js.map +1 -1
  498. package/dist/lib/path-safety.d.ts +8 -0
  499. package/dist/lib/path-safety.d.ts.map +1 -0
  500. package/dist/lib/path-safety.js +24 -0
  501. package/dist/lib/path-safety.js.map +1 -0
  502. package/dist/lib/permission-policy/policy-ref.d.ts +89 -0
  503. package/dist/lib/permission-policy/policy-ref.d.ts.map +1 -0
  504. package/dist/lib/permission-policy/policy-ref.js +171 -0
  505. package/dist/lib/permission-policy/policy-ref.js.map +1 -0
  506. package/dist/lib/permission-policy/policy-spec.d.ts +34 -0
  507. package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -0
  508. package/dist/lib/permission-policy/policy-spec.js +106 -0
  509. package/dist/lib/permission-policy/policy-spec.js.map +1 -0
  510. package/dist/lib/scope/logical-checkbox.d.ts +26 -0
  511. package/dist/lib/scope/logical-checkbox.d.ts.map +1 -0
  512. package/dist/lib/scope/logical-checkbox.js +65 -0
  513. package/dist/lib/scope/logical-checkbox.js.map +1 -0
  514. package/dist/lib/scope/scaffold-placeholder.d.ts +22 -0
  515. package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -1
  516. package/dist/lib/scope/scaffold-placeholder.js +24 -0
  517. package/dist/lib/scope/scaffold-placeholder.js.map +1 -1
  518. package/dist/lib/scope/scope-audit.d.ts +1 -1
  519. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  520. package/dist/lib/scope/scope-audit.js.map +1 -1
  521. package/dist/lib/scope/scope-fs.d.ts +19 -3
  522. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  523. package/dist/lib/scope/scope-fs.js +37 -17
  524. package/dist/lib/scope/scope-fs.js.map +1 -1
  525. package/dist/lib/topology-trace.d.ts +36 -0
  526. package/dist/lib/topology-trace.d.ts.map +1 -0
  527. package/dist/lib/topology-trace.js +91 -0
  528. package/dist/lib/topology-trace.js.map +1 -0
  529. package/dist/release-surface/extract-surface.js +1 -1
  530. package/dist/release-surface/extract-surface.js.map +1 -1
  531. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  532. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +7 -4
  533. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  534. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js +2 -2
  535. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js.map +1 -1
  536. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts +11 -2
  537. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  538. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js +18 -10
  539. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  540. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +10 -2
  541. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
  542. package/node_modules/@openrig/daemon/dist/adapters/tmux.js +27 -7
  543. package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
  544. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts +18 -0
  545. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  546. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js +21 -0
  547. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js.map +1 -1
  548. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  549. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts +100 -2
  550. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  551. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js +180 -6
  552. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js.map +1 -1
  553. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
  554. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  555. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
  556. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  557. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  558. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
  559. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  560. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
  561. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
  562. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
  563. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
  564. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
  565. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
  566. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +125 -0
  567. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
  568. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
  569. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
  570. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
  571. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
  572. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
  573. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
  574. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
  575. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
  576. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts +173 -0
  577. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -0
  578. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +233 -0
  579. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js.map +1 -0
  580. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.d.ts +7 -6
  581. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.d.ts.map +1 -1
  582. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.js +57 -7
  583. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.js.map +1 -1
  584. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.d.ts +4 -0
  585. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.d.ts.map +1 -1
  586. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.js +15 -0
  587. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.js.map +1 -1
  588. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +11 -0
  589. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  590. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.js +34 -1
  591. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  592. package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts +56 -0
  593. package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts.map +1 -0
  594. package/node_modules/@openrig/daemon/dist/domain/markdown-address.js +188 -0
  595. package/node_modules/@openrig/daemon/dist/domain/markdown-address.js.map +1 -0
  596. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +73 -0
  597. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -0
  598. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +204 -0
  599. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -0
  600. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +13 -0
  601. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -0
  602. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js +163 -0
  603. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -0
  604. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +125 -0
  605. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -0
  606. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js +199 -0
  607. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -0
  608. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  609. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  610. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
  611. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  612. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
  613. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js +6 -1
  614. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js.map +1 -1
  615. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.d.ts +10 -3
  616. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.d.ts.map +1 -1
  617. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.js +61 -14
  618. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.js.map +1 -1
  619. package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts +25 -0
  620. package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts.map +1 -0
  621. package/node_modules/@openrig/daemon/dist/domain/process-census.js +47 -0
  622. package/node_modules/@openrig/daemon/dist/domain/process-census.js.map +1 -0
  623. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts +41 -3
  624. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  625. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js +74 -31
  626. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  627. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +5 -26
  628. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +1 -1
  629. package/node_modules/@openrig/daemon/dist/domain/review/compose.js +31 -57
  630. package/node_modules/@openrig/daemon/dist/domain/review/compose.js.map +1 -1
  631. package/node_modules/@openrig/daemon/dist/domain/review/gather.d.ts.map +1 -1
  632. package/node_modules/@openrig/daemon/dist/domain/review/gather.js +3 -2
  633. package/node_modules/@openrig/daemon/dist/domain/review/gather.js.map +1 -1
  634. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-defaults.d.ts → rig-mode/rig-mode-defaults.d.ts} +2 -2
  635. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -0
  636. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-defaults.js → rig-mode/rig-mode-defaults.js} +1 -1
  637. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -0
  638. package/{daemon/dist/domain/rig-policy/rig-policy-store.d.ts → node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts} +6 -6
  639. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -0
  640. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-store.js → rig-mode/rig-mode-store.js} +5 -5
  641. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -0
  642. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-types.d.ts → rig-mode/rig-mode-types.d.ts} +1 -1
  643. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -0
  644. package/{daemon/dist/domain/rig-policy/rig-policy-types.js → node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js} +1 -1
  645. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -0
  646. package/{daemon/dist/domain/rig-policy/rig-policy-validator.d.ts → node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts} +2 -2
  647. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts.map +1 -0
  648. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-validator.js → rig-mode/rig-mode-validator.js} +3 -3
  649. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.js.map +1 -0
  650. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
  651. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  652. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +39 -0
  653. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  654. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts +7 -0
  655. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  656. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +25 -2
  657. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
  658. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
  659. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
  660. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js +65 -0
  661. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
  662. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts +37 -0
  663. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts.map +1 -0
  664. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js +55 -0
  665. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js.map +1 -0
  666. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +12 -1
  667. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  668. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +42 -2
  669. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  670. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
  671. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
  672. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
  673. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
  674. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts +4 -0
  675. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  676. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js +56 -7
  677. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  678. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts +1 -1
  679. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  680. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  681. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  682. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js +5 -2
  683. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  684. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts +1 -0
  685. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  686. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js +39 -23
  687. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js.map +1 -1
  688. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +54 -15
  689. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  690. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +74 -19
  691. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +1 -1
  692. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts +17 -0
  693. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  694. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js +22 -0
  695. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  696. package/node_modules/@openrig/daemon/dist/domain/session-jsonl.js +1 -1
  697. package/node_modules/@openrig/daemon/dist/domain/session-jsonl.js.map +1 -1
  698. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts +8 -0
  699. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts.map +1 -1
  700. package/node_modules/@openrig/daemon/dist/domain/session-transport.js +116 -0
  701. package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
  702. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts +23 -0
  703. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
  704. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js +36 -0
  705. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js.map +1 -0
  706. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  707. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +24 -3
  708. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  709. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  710. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js +16 -3
  711. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  712. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.d.ts +22 -0
  713. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.d.ts.map +1 -1
  714. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.js +35 -0
  715. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.js.map +1 -1
  716. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
  717. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
  718. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js +38 -0
  719. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
  720. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
  721. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  722. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js +38 -1
  723. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  724. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.d.ts +9 -0
  725. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.d.ts.map +1 -1
  726. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.js +11 -0
  727. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.js.map +1 -1
  728. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
  729. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
  730. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js +92 -0
  731. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
  732. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts +4 -0
  733. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  734. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js +61 -3
  735. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js.map +1 -1
  736. package/node_modules/@openrig/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  737. package/node_modules/@openrig/daemon/dist/domain/transcript-store.js +9 -2
  738. package/node_modules/@openrig/daemon/dist/domain/transcript-store.js.map +1 -1
  739. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +18 -0
  740. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  741. package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
  742. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +10 -1
  743. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  744. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +59 -0
  745. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  746. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.d.ts +7 -0
  747. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.d.ts.map +1 -1
  748. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.js +27 -0
  749. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.js.map +1 -1
  750. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  751. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +4 -3
  752. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  753. package/node_modules/@openrig/daemon/dist/routes/activity.js +11 -2
  754. package/node_modules/@openrig/daemon/dist/routes/activity.js.map +1 -1
  755. package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts +27 -0
  756. package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts.map +1 -1
  757. package/node_modules/@openrig/daemon/dist/routes/bundles.js +107 -26
  758. package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
  759. package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
  760. package/node_modules/@openrig/daemon/dist/routes/context-packs.js +205 -0
  761. package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
  762. package/node_modules/@openrig/daemon/dist/routes/crash-cart.d.ts +4 -0
  763. package/node_modules/@openrig/daemon/dist/routes/crash-cart.d.ts.map +1 -0
  764. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js +144 -0
  765. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js.map +1 -0
  766. package/node_modules/@openrig/daemon/dist/routes/missions.d.ts.map +1 -1
  767. package/node_modules/@openrig/daemon/dist/routes/missions.js +10 -6
  768. package/node_modules/@openrig/daemon/dist/routes/missions.js.map +1 -1
  769. package/node_modules/@openrig/daemon/dist/routes/{rig-policy.d.ts → rig-mode.d.ts} +3 -3
  770. package/node_modules/@openrig/daemon/dist/routes/rig-mode.d.ts.map +1 -0
  771. package/{daemon/dist/routes/rig-policy.js → node_modules/@openrig/daemon/dist/routes/rig-mode.js} +13 -13
  772. package/node_modules/@openrig/daemon/dist/routes/rig-mode.js.map +1 -0
  773. package/node_modules/@openrig/daemon/dist/routes/scope-approve.d.ts.map +1 -1
  774. package/node_modules/@openrig/daemon/dist/routes/scope-approve.js +4 -0
  775. package/node_modules/@openrig/daemon/dist/routes/scope-approve.js.map +1 -1
  776. package/node_modules/@openrig/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  777. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js +29 -2
  778. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js.map +1 -1
  779. package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
  780. package/node_modules/@openrig/daemon/dist/routes/seat.js +18 -2
  781. package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
  782. package/node_modules/@openrig/daemon/dist/routes/sessions.d.ts.map +1 -1
  783. package/node_modules/@openrig/daemon/dist/routes/sessions.js +66 -1
  784. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
  785. package/node_modules/@openrig/daemon/dist/routes/transport.d.ts.map +1 -1
  786. package/node_modules/@openrig/daemon/dist/routes/transport.js +12 -3
  787. package/node_modules/@openrig/daemon/dist/routes/transport.js.map +1 -1
  788. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts +2 -0
  789. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
  790. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js +6 -0
  791. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js.map +1 -0
  792. package/node_modules/@openrig/daemon/dist/server.d.ts +3 -1
  793. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  794. package/node_modules/@openrig/daemon/dist/server.js +15 -5
  795. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  796. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  797. package/node_modules/@openrig/daemon/dist/startup.js +166 -6
  798. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  799. package/node_modules/@openrig/daemon/package.json +6 -1
  800. package/package.json +1 -1
  801. package/tui/dist/crash-cart/from-emit.d.ts +9 -0
  802. package/tui/dist/crash-cart/from-emit.d.ts.map +1 -1
  803. package/tui/dist/crash-cart/from-emit.js.map +1 -1
  804. package/tui/dist/crash-cart/keys.d.ts +1 -1
  805. package/tui/dist/crash-cart/keys.d.ts.map +1 -1
  806. package/tui/dist/crash-cart/keys.js +13 -2
  807. package/tui/dist/crash-cart/keys.js.map +1 -1
  808. package/tui/dist/crash-cart/one-click-gate.d.ts +5 -0
  809. package/tui/dist/crash-cart/one-click-gate.d.ts.map +1 -1
  810. package/tui/dist/crash-cart/one-click-gate.js +8 -0
  811. package/tui/dist/crash-cart/one-click-gate.js.map +1 -1
  812. package/tui/dist/crash-cart/render-crash-cart.d.ts +11 -0
  813. package/tui/dist/crash-cart/render-crash-cart.d.ts.map +1 -1
  814. package/tui/dist/crash-cart/render-crash-cart.js +113 -0
  815. package/tui/dist/crash-cart/render-crash-cart.js.map +1 -1
  816. package/tui/dist/crash-cart/restore-input.d.ts +32 -0
  817. package/tui/dist/crash-cart/restore-input.d.ts.map +1 -0
  818. package/tui/dist/crash-cart/restore-input.js +37 -0
  819. package/tui/dist/crash-cart/restore-input.js.map +1 -0
  820. package/tui/dist/crash-cart/restore-lifecycle.d.ts +66 -0
  821. package/tui/dist/crash-cart/restore-lifecycle.d.ts.map +1 -0
  822. package/tui/dist/crash-cart/restore-lifecycle.js +96 -0
  823. package/tui/dist/crash-cart/restore-lifecycle.js.map +1 -0
  824. package/tui/dist/crash-cart/restore-scroll.d.ts +14 -0
  825. package/tui/dist/crash-cart/restore-scroll.d.ts.map +1 -0
  826. package/tui/dist/crash-cart/restore-scroll.js +27 -0
  827. package/tui/dist/crash-cart/restore-scroll.js.map +1 -0
  828. package/tui/dist/daemon-client.d.ts +38 -0
  829. package/tui/dist/daemon-client.d.ts.map +1 -1
  830. package/tui/dist/daemon-client.js +15 -0
  831. package/tui/dist/daemon-client.js.map +1 -1
  832. package/tui/dist/main.js +146 -2
  833. package/tui/dist/main.js.map +1 -1
  834. package/tui/dist/render.d.ts +10 -0
  835. package/tui/dist/render.d.ts.map +1 -1
  836. package/tui/dist/render.js +63 -10
  837. package/tui/dist/render.js.map +1 -1
  838. package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +0 -1
  839. package/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +0 -1
  840. package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +0 -1
  841. package/daemon/dist/domain/rig-policy/rig-policy-store.js.map +0 -1
  842. package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +0 -1
  843. package/daemon/dist/domain/rig-policy/rig-policy-types.js.map +0 -1
  844. package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +0 -1
  845. package/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +0 -1
  846. package/daemon/dist/routes/rig-policy.d.ts.map +0 -1
  847. package/daemon/dist/routes/rig-policy.js.map +0 -1
  848. package/dist/commands/rig-policy.d.ts.map +0 -1
  849. package/dist/commands/rig-policy.js.map +0 -1
  850. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +0 -1
  851. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +0 -1
  852. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +0 -1
  853. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-store.js.map +0 -1
  854. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +0 -1
  855. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-types.js.map +0 -1
  856. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +0 -1
  857. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +0 -1
  858. package/node_modules/@openrig/daemon/dist/routes/rig-policy.d.ts.map +0 -1
  859. package/node_modules/@openrig/daemon/dist/routes/rig-policy.js.map +0 -1
@@ -5,9 +5,16 @@
5
5
  // shape with structured-error rejects on malformed input. Pure
6
6
  // (no fs touches in the parser itself; caller hands in raw YAML).
7
7
  import { parse as parseYaml } from "yaml";
8
- import { ContextPackError } from "./context-pack-types.js";
8
+ import { ATOM_PRIORITIES, ATOM_PURPOSES, ATOM_REGIONS, ATOM_RUNTIMES, ATOM_SITUATIONS, ATOM_TAXONOMIES, ContextPackError, } from "./context-pack-types.js";
9
9
  import { isSafePackVersion } from "./ref-safety.js";
10
- const ALLOWED_FILE_SUFFIXES = [".md", ".markdown", ".yaml", ".yml", ".txt"];
10
+ import { AddressResolutionError, parseAddress } from "../markdown-address.js";
11
+ import { parseSourceRef, SourceResolutionError } from "./profile-source-resolver.js";
12
+ // Served as UTF-8 bundle text. `.sh`/`.ts` (OPR.0.5.3.7 R2) carry canonical skill
13
+ // helper assets the served prose references (e.g. find-polluter.sh,
14
+ // condition-based-waiting-example.ts) — text content, never executed. An unlisted
15
+ // suffix still rejects loud, so a genuinely new pack file type fails at ingest
16
+ // rather than serving a silently-incomplete bundle.
17
+ const ALLOWED_FILE_SUFFIXES = [".md", ".markdown", ".yaml", ".yml", ".txt", ".sh", ".ts"];
11
18
  export function parseManifest(rawYaml, sourcePath) {
12
19
  let parsed;
13
20
  try {
@@ -74,12 +81,237 @@ export function parseManifest(rawYaml, sourcePath) {
74
81
  const estimatedTokens = typeof estimatedTokensRaw === "number" && Number.isFinite(estimatedTokensRaw)
75
82
  ? Math.max(0, Math.floor(estimatedTokensRaw))
76
83
  : undefined;
84
+ const atoms = obj["atoms"] !== undefined ? parseAtoms(obj["atoms"], files, sourcePath) : undefined;
77
85
  return {
78
86
  name,
79
87
  version,
80
88
  ...(purpose !== undefined ? { purpose } : {}),
81
89
  files,
82
90
  ...(estimatedTokens !== undefined ? { estimatedTokens } : {}),
91
+ ...(atoms !== undefined ? { atoms } : {}),
83
92
  };
84
93
  }
94
+ // ---------------------------------------------------------------------------
95
+ // OPR.0.5.3.5 mini-req 1 — install atoms. An atom is an ADDRESS plus
96
+ // composition metadata, never a new file: fresh/handover/post-compaction all
97
+ // compose addresses into the same bytes (mini-req 5 by construction). Every
98
+ // rule here fails LOUD with the atom's index and id — a malformed atom must
99
+ // stop ingest, never thin a later compose.
100
+ const MARKDOWN_SUFFIXES = [".md", ".markdown"];
101
+ const ATOM_ID = /^[a-z0-9][a-z0-9-]{0,63}$/;
102
+ const ALLOWED_ATOM_KEYS = new Set([
103
+ "id", "address", "taxonomy", "regions", "situations", "purpose", "runtime", "order", "requires", "priority", "probe",
104
+ ]);
105
+ // The typos worth a kindness (r1 F2): singular/plural slips on the fields whose
106
+ // silent loss is sharpest.
107
+ const ALLOWED_PROBE_KEYS = new Set(["prompt", "expect", "expectedPatterns", "rubric"]);
108
+ const NEAR_MISS_ATOM_KEYS = {
109
+ require: "requires", region: "regions", situation: "situations", probes: "probe",
110
+ };
111
+ function atomError(sourcePath, index, detail) {
112
+ return new ContextPackError("manifest_invalid", `manifest at ${sourcePath} atoms[${index}]: ${detail}`, { sourcePath, index });
113
+ }
114
+ function enumField(value, allowed, field, sourcePath, index) {
115
+ if (typeof value !== "string" || !allowed.includes(value)) {
116
+ throw atomError(sourcePath, index, `'${field}' must be one of ${allowed.join(" | ")} (got: ${JSON.stringify(value)})`);
117
+ }
118
+ return value;
119
+ }
120
+ function parseAtoms(raw, files, sourcePath) {
121
+ if (!Array.isArray(raw)) {
122
+ throw new ContextPackError("manifest_invalid", `manifest at ${sourcePath} 'atoms' must be an array`, { sourcePath });
123
+ }
124
+ const declaredFiles = new Set(files.map((f) => f.path));
125
+ const atoms = [];
126
+ const seenIds = new Set();
127
+ for (let i = 0; i < raw.length; i++) {
128
+ const entry = raw[i];
129
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
130
+ throw atomError(sourcePath, i, "must be an object");
131
+ }
132
+ const a = entry;
133
+ // r1 F2: ingest knows the complete legal key set — an unknown key rejects
134
+ // LOUD. A `require:` typo silently dropping a dependency edge is the exact
135
+ // failure the field exists to prevent; every REQUIRED field failing loud
136
+ // while a typo'd OPTIONAL one fails silent would break the module contract.
137
+ for (const key of Object.keys(a)) {
138
+ if (!ALLOWED_ATOM_KEYS.has(key)) {
139
+ const hint = NEAR_MISS_ATOM_KEYS[key];
140
+ throw atomError(sourcePath, i, `unknown field '${key}'${hint ? ` — did you mean '${hint}'?` : ""} (allowed: ${[...ALLOWED_ATOM_KEYS].join(", ")})`);
141
+ }
142
+ }
143
+ const id = a["id"];
144
+ if (typeof id !== "string" || !ATOM_ID.test(id)) {
145
+ throw atomError(sourcePath, i, `'id' must be a stable slug matching [a-z0-9][a-z0-9-]{0,63} (got: ${JSON.stringify(id)})`);
146
+ }
147
+ if (seenIds.has(id))
148
+ throw atomError(sourcePath, i, `duplicate atom id '${id}' — ids are the join key for order/requires/probes`);
149
+ seenIds.add(id);
150
+ const addressRaw = a["address"];
151
+ if (typeof addressRaw !== "string" || addressRaw.length === 0) {
152
+ throw atomError(sourcePath, i, "'address' is required: file or file#H2-slug/H3-slug");
153
+ }
154
+ let parsedAddr;
155
+ try {
156
+ parsedAddr = parseAddress(addressRaw);
157
+ }
158
+ catch (err) {
159
+ if (err instanceof AddressResolutionError)
160
+ throw atomError(sourcePath, i, `'address' is malformed — ${err.message}`);
161
+ throw err;
162
+ }
163
+ // Atom 4a — the pre-'#' ref carries its resolver kind (Q2-Amendment 1's
164
+ // one-grammar-two-resolvers ruling): a bare LIBRARY ref must be a declared
165
+ // pack file; a seat:/mission: TREE ref lives outside the pack by design
166
+ // (nothing must be library-homed to be composable), so it validates
167
+ // structurally here (unknown prefix / traversal reject loud) and resolves
168
+ // from configured roots at compose.
169
+ let sourceRef;
170
+ try {
171
+ sourceRef = parseSourceRef(parsedAddr.ref);
172
+ }
173
+ catch (err) {
174
+ if (err instanceof SourceResolutionError)
175
+ throw atomError(sourcePath, i, `'address' — ${err.message}`);
176
+ throw err;
177
+ }
178
+ if (sourceRef.kind === "library" && !declaredFiles.has(parsedAddr.ref)) {
179
+ throw atomError(sourcePath, i, `'address' references '${parsedAddr.ref}', which is not a declared pack file — a library atom addresses INTO the pack's own files (tree sources use the seat:/mission: prefix)`);
180
+ }
181
+ if (parsedAddr.headerPath.length > 0 && !MARKDOWN_SUFFIXES.some((s) => sourceRef.rel.endsWith(s))) {
182
+ throw atomError(sourcePath, i, `'address' uses a header path on '${parsedAddr.ref}' — header addressing only applies to markdown files (${MARKDOWN_SUFFIXES.join(", ")})`);
183
+ }
184
+ const taxonomy = enumField(a["taxonomy"], ATOM_TAXONOMIES, "taxonomy", sourcePath, i);
185
+ const purpose = enumField(a["purpose"], ATOM_PURPOSES, "purpose", sourcePath, i);
186
+ const priority = enumField(a["priority"], ATOM_PRIORITIES, "priority", sourcePath, i);
187
+ const runtime = a["runtime"] === undefined ? "any" : enumField(a["runtime"], ATOM_RUNTIMES, "runtime", sourcePath, i);
188
+ const situationsRaw = a["situations"];
189
+ if (!Array.isArray(situationsRaw) || situationsRaw.length === 0) {
190
+ throw atomError(sourcePath, i, `'situations' must be a non-empty array of ${ATOM_SITUATIONS.join(" | ")} — it is the composition algebra's selector`);
191
+ }
192
+ const situations = situationsRaw.map((s) => enumField(s, ATOM_SITUATIONS, "situations", sourcePath, i));
193
+ let regions;
194
+ if (a["regions"] !== undefined) {
195
+ const regionsRaw = a["regions"];
196
+ if (!Array.isArray(regionsRaw))
197
+ throw atomError(sourcePath, i, "'regions' must be an array when present");
198
+ regions = regionsRaw.map((r) => enumField(r, ATOM_REGIONS, "regions", sourcePath, i));
199
+ }
200
+ const order = a["order"];
201
+ if (typeof order !== "number" || !Number.isInteger(order)) {
202
+ throw atomError(sourcePath, i, `'order' must be an integer — walks are ordered and absorption depends on sequence (got: ${JSON.stringify(order)})`);
203
+ }
204
+ let requires;
205
+ if (a["requires"] !== undefined) {
206
+ const requiresRaw = a["requires"];
207
+ if (!Array.isArray(requiresRaw) || requiresRaw.some((r) => typeof r !== "string")) {
208
+ throw atomError(sourcePath, i, "'requires' must be an array of atom ids when present");
209
+ }
210
+ requires = requiresRaw;
211
+ if (requires.includes(id))
212
+ throw atomError(sourcePath, i, `atom '${id}' requires itself`);
213
+ }
214
+ let probe;
215
+ if (a["probe"] !== undefined) {
216
+ const p = a["probe"];
217
+ if (!p || typeof p !== "object" || Array.isArray(p))
218
+ throw atomError(sourcePath, i, "'probe' must be an object { prompt, expect, expectedPatterns?, rubric? }");
219
+ const pr = p;
220
+ // Q3 bridge: the key gate extends INSIDE probe (the dispositioned Atom-2
221
+ // note landing at its recorded spot), and the shape reconciles with the
222
+ // harness's EvalCase — expectedPatterns/rubric are LEGAL here, so the
223
+ // natural mistake r1 predicted becomes the schema instead of silent loss.
224
+ for (const key of Object.keys(pr)) {
225
+ if (!ALLOWED_PROBE_KEYS.has(key)) {
226
+ throw atomError(sourcePath, i, `'probe' has unknown field '${key}'${key === "rubrics" ? " — did you mean 'rubric'?" : ""} (allowed: ${[...ALLOWED_PROBE_KEYS].join(", ")})`);
227
+ }
228
+ }
229
+ if (typeof pr["prompt"] !== "string" || pr["prompt"].length === 0 || typeof pr["expect"] !== "string" || pr["expect"].length === 0) {
230
+ throw atomError(sourcePath, i, "'probe' needs BOTH a natural 'prompt' and the 'expect'ed observable behavior — acceptance is changed behavior, never files delivered");
231
+ }
232
+ let expectedPatterns;
233
+ if (pr["expectedPatterns"] !== undefined) {
234
+ const eps = pr["expectedPatterns"];
235
+ if (!Array.isArray(eps) || eps.some((e) => typeof e !== "string")) {
236
+ throw atomError(sourcePath, i, "'probe.expectedPatterns' must be an array of regex source strings when present");
237
+ }
238
+ for (const src of eps) {
239
+ try {
240
+ new RegExp(src);
241
+ }
242
+ catch {
243
+ throw atomError(sourcePath, i, `'probe.expectedPatterns' entry '${src}' is not a compilable regex source`);
244
+ }
245
+ }
246
+ expectedPatterns = eps;
247
+ }
248
+ if (pr["rubric"] !== undefined && typeof pr["rubric"] !== "string") {
249
+ throw atomError(sourcePath, i, "'probe.rubric' must be a string when present");
250
+ }
251
+ probe = {
252
+ prompt: pr["prompt"],
253
+ expect: pr["expect"],
254
+ ...(expectedPatterns !== undefined ? { expectedPatterns } : {}),
255
+ ...(pr["rubric"] !== undefined ? { rubric: pr["rubric"] } : {}),
256
+ };
257
+ }
258
+ atoms.push({
259
+ id,
260
+ address: addressRaw,
261
+ taxonomy,
262
+ ...(regions !== undefined ? { regions } : {}),
263
+ situations,
264
+ purpose,
265
+ runtime,
266
+ order,
267
+ ...(requires !== undefined ? { requires } : {}),
268
+ priority,
269
+ ...(probe !== undefined ? { probe } : {}),
270
+ });
271
+ }
272
+ // Cross-atom edges, after all ids are known.
273
+ for (let i = 0; i < atoms.length; i++) {
274
+ for (const req of atoms[i].requires ?? []) {
275
+ if (!seenIds.has(req)) {
276
+ throw atomError(sourcePath, i, `atom '${atoms[i].id}' requires '${req}', which no atom declares`);
277
+ }
278
+ }
279
+ }
280
+ // A requires CYCLE can never be closed over by any subset profile — reject at
281
+ // ingest with the cycle spelled out. The walk is ITERATIVE with an explicit
282
+ // stack (r1 F1): the recursive form threw a bare RangeError past ~5000 atoms —
283
+ // outside the ContextPackError channel this module promises — and depth is
284
+ // attacker-choosable (packs install from URLs, slice-07 R4); no recursion
285
+ // threshold is safe across Node versions/platforms, so there isn't one.
286
+ const state = new Map();
287
+ const byId = new Map(atoms.map((atom) => [atom.id, atom]));
288
+ for (const root of atoms) {
289
+ if (state.get(root.id) === "done")
290
+ continue;
291
+ // Each frame tracks how far through its requires list it has walked.
292
+ const stack = [{ id: root.id, next: 0 }];
293
+ state.set(root.id, "visiting");
294
+ while (stack.length > 0) {
295
+ const frame = stack[stack.length - 1];
296
+ const reqs = byId.get(frame.id).requires ?? [];
297
+ if (frame.next >= reqs.length) {
298
+ state.set(frame.id, "done");
299
+ stack.pop();
300
+ continue;
301
+ }
302
+ const req = reqs[frame.next++];
303
+ const s = state.get(req);
304
+ if (s === "done")
305
+ continue;
306
+ if (s === "visiting") {
307
+ const trail = stack.map((f) => f.id);
308
+ const cycle = [...trail.slice(trail.indexOf(req)), req].join(" -> ");
309
+ throw new ContextPackError("manifest_invalid", `manifest at ${sourcePath} atoms: requires cycle ${cycle} — no subset profile could ever close over it`, { sourcePath });
310
+ }
311
+ state.set(req, "visiting");
312
+ stack.push({ id: req, next: 0 });
313
+ }
314
+ }
315
+ return atoms;
316
+ }
85
317
  //# sourceMappingURL=manifest-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-parser.js","sourceRoot":"","sources":["../../../src/domain/context-packs/manifest-parser.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,UAAU;AACV,EAAE;AACF,oEAAoE;AACpE,+DAA+D;AAC/D,kEAAkE;AAElE,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAA0D,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,UAAkB;IAC/D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CACxB,sBAAsB,EACtB,eAAe,UAAU,uBAAwB,GAAa,CAAC,OAAO,EAAE,EACxE,EAAE,UAAU,EAAE,CACf,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,oCAAoC,EAC7D,EAAE,UAAU,EAAE,CACf,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAE9C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,4CAA4C,EACrE,EAAE,UAAU,EAAE,CACf,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,qEAAqE;IACrE,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,sCAAsC,EAC/D,EAAE,UAAU,EAAE,CACf,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,sBAAsB;IACtB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,4BAA4B,OAAO,+CAA+C;YACzG,sGAAsG;YACtG,sEAAsE,EACxE,EAAE,UAAU,EAAE,CACf,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,SAAS,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,sCAAsC,OAAO,QAAQ,GAAG,EACjF,EAAE,UAAU,EAAE,CACf,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,iCAAiC,CAAC,4CAA4C,EACvG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CACzB,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,GAAG,CAA4B,CAAC;QACxC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,UAAU,CAAC,2BAA2B,EAC/D,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CACzB,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,UAAU,CAAC,WAAW,IAAI,8EAA8E,EACjI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAC/B,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,UAAU,CAAC,2BAA2B,EAC/D,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAC/B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,eAAe,UAAU,UAAU,CAAC,WAAW,IAAI,yCAAyC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC9H,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAC/B,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,SAAS,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,OAAO,kBAAkB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACnG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,KAAK;QACL,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"manifest-parser.js","sourceRoot":"","sources":["../../../src/domain/context-packs/manifest-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { ContextPackManifest } from "./context-pack-types.js";
2
+ /** A plain eval-case object in the harness's declarative format. The harness's
3
+ * validateEvalCase is the authority on this shape; the bridge emits data. */
4
+ export type CompiledEvalCaseData = Record<string, unknown>;
5
+ /**
6
+ * Compile every probed atom of a manifest into behavior-category eval-case
7
+ * data. Atoms without probes are skipped (a probe is acceptance evidence,
8
+ * not an obligation). Case ids are namespaced by the pack ref so cases from
9
+ * multiple packs never collide in one harness run.
10
+ *
11
+ * The mapping, field by field:
12
+ * id <- <packRef>/<atomId>
13
+ * name <- the probe's expect (the observable-behavior contract
14
+ * IS the case's human name — what a grader reads first)
15
+ * category <- "behavior"
16
+ * prompt <- probe.prompt (the natural prompt, mini-req 2)
17
+ * expectedPatterns <- probe.expectedPatterns (the deterministic door leg;
18
+ * validated compilable at manifest ingest)
19
+ * rubric <- probe.rubric, else the expect prose (the judged leg
20
+ * always has at least the behavior contract to judge by)
21
+ */
22
+ export interface CompiledProbeCases {
23
+ cases: CompiledEvalCaseData[];
24
+ /** Probes that could not become harness cases, WITH reasons — a bound the
25
+ * caller must surface (no silent caps): a probe without expectedPatterns
26
+ * has no deterministic-door leg, and the bridge refuses both to fabricate
27
+ * a pattern from prose and to lose the atom silently. */
28
+ skipped: Array<{
29
+ atomId: string;
30
+ reason: string;
31
+ }>;
32
+ }
33
+ export declare function compileAtomProbesToEvalCases(manifest: ContextPackManifest, packRef: string): CompiledProbeCases;
34
+ //# sourceMappingURL=probe-eval-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe-eval-bridge.d.ts","sourceRoot":"","sources":["../../../src/domain/context-packs/probe-eval-bridge.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;8EAC8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B;;;8DAG0D;IAC1D,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsB/G"}
@@ -0,0 +1,38 @@
1
+ // OPR.0.5.3.5 Q3 harness bridge (mini-req 8, amended per desk ruling 9103302d):
2
+ // slice-05's behavior probes execute in the SAME live-model eval harness as
3
+ // slice-07's selection/loading cases, as the "behavior" case CATEGORY — one
4
+ // harness, one runner, one grading door; two runners would fork the eval
5
+ // convention itself (the drift class this release keeps killing).
6
+ //
7
+ // This bridge is DATA-SHAPED on purpose: it compiles atom probes (mini-req 1
8
+ // metadata) into plain eval-case objects that the harness validates through
9
+ // ITS OWN schema at load time — exactly how the authored YAML cases travel.
10
+ // No import from the harness's modules, so the product side and the
11
+ // test-system side stay decoupled by data (the schema's own stated design:
12
+ // "no cross-package TS import"), and the one-harness property is preserved
13
+ // by construction rather than by discipline.
14
+ export function compileAtomProbesToEvalCases(manifest, packRef) {
15
+ const cases = [];
16
+ const skipped = [];
17
+ for (const atom of manifest.atoms ?? []) {
18
+ if (!atom.probe)
19
+ continue;
20
+ if (!atom.probe.expectedPatterns || atom.probe.expectedPatterns.length === 0) {
21
+ skipped.push({
22
+ atomId: atom.id,
23
+ reason: "probe has no expectedPatterns — the harness's deterministic door requires at least one compilable pattern; author them on the atom's probe",
24
+ });
25
+ continue;
26
+ }
27
+ cases.push({
28
+ id: `${packRef}/${atom.id}`,
29
+ name: atom.probe.expect,
30
+ category: "behavior",
31
+ prompt: atom.probe.prompt,
32
+ expectedPatterns: atom.probe.expectedPatterns,
33
+ rubric: atom.probe.rubric ?? atom.probe.expect,
34
+ });
35
+ }
36
+ return { cases, skipped };
37
+ }
38
+ //# sourceMappingURL=probe-eval-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe-eval-bridge.js","sourceRoot":"","sources":["../../../src/domain/context-packs/probe-eval-bridge.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,4EAA4E;AAC5E,4EAA4E;AAC5E,yEAAyE;AACzE,kEAAkE;AAClE,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,oEAAoE;AACpE,2EAA2E;AAC3E,2EAA2E;AAC3E,6CAA6C;AAkC7C,MAAM,UAAU,4BAA4B,CAAC,QAA6B,EAAE,OAAe;IACzF,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,OAAO,GAAkC,EAAE,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,SAAS;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,4IAA4I;aACrJ,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE;YAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACvB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAC7C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { ContextPackAtom } from "./context-pack-types.js";
2
+ export declare class ProfileComposeError extends Error {
3
+ constructor(message: string);
4
+ }
5
+ export type ComposeSituation = "fresh" | "handover" | "post-compaction";
6
+ export type ComposeRuntime = "claude" | "codex";
7
+ export type SourceKind = "library" | "seat" | "mission";
8
+ export interface ComposeInput {
9
+ /** The one atom graph (possibly gathered across sources by the caller). */
10
+ atoms: ContextPackAtom[];
11
+ situation: ComposeSituation;
12
+ runtime: ComposeRuntime;
13
+ /** Fail-loud file reader keyed by the address's pre-`#` ref. */
14
+ readFile: (ref: string) => string;
15
+ /** The situation's token budget (D2 targets); omitted = no budget check. */
16
+ budgetTokens?: number;
17
+ /** Source labelling per atom (Q2-Amendment 1); defaults to "library". */
18
+ sourceKindFor?: (atom: ContextPackAtom) => SourceKind;
19
+ }
20
+ export interface ComposedPiece {
21
+ atomId: string;
22
+ address: string;
23
+ sourceKind: SourceKind;
24
+ order: number;
25
+ priority: ContextPackAtom["priority"];
26
+ /** The resolved bytes: the addressed span (Q1 full-span rule) or the whole file. */
27
+ text: string;
28
+ estimatedTokens: number;
29
+ }
30
+ export interface ComposedProfile {
31
+ situation: ComposeSituation;
32
+ runtime: ComposeRuntime;
33
+ pieces: ComposedPiece[];
34
+ totalEstimatedTokens: number;
35
+ /** Present ONLY when the budget binds: the report, never a truncation. */
36
+ budget?: {
37
+ limitTokens: number;
38
+ overageTokens: number;
39
+ /** What to drop FIRST, in drop order: optional, then recommended, then core;
40
+ * larger pieces first within a tier (the biggest cheap win leads). */
41
+ dropCandidates: Array<{
42
+ atomId: string;
43
+ priority: ContextPackAtom["priority"];
44
+ estimatedTokens: number;
45
+ }>;
46
+ };
47
+ }
48
+ export declare function composeProfile(input: ComposeInput): ComposedProfile;
49
+ //# sourceMappingURL=profile-composer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-composer.d.ts","sourceRoot":"","sources":["../../../src/domain/context-packs/profile-composer.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,gEAAgE;IAChE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,UAAU,CAAC;CACvD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,MAAM,CAAC,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB;+EACuE;QACvE,cAAc,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC3G,CAAC;CACH;AAgBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,CAsFnE"}
@@ -0,0 +1,125 @@
1
+ // OPR.0.5.3.5 Atom 3 — the composition algebra (locked SPEC, founder refinement):
2
+ //
3
+ // FRESH = the base walk (atoms tagged fresh)
4
+ // HANDOVER = FRESH + the handover material (atoms tagged handover)
5
+ // POST-COMPACTION = the tagged subset of fresh + the handover material
6
+ //
7
+ // Every profile is CLOSED over requires (a subset profile must close — intake rule);
8
+ // the runtime filter runs per mini-req 3 (claude and codex are never assumed to have
9
+ // lost the same dimensions, so they compose different profiles from the SAME graph);
10
+ // each piece resolves through the Atom-1 address machinery and carries a per-piece
11
+ // SOURCE LABEL (Q2-Amendment 1: composition is multi-source by contract — library /
12
+ // seat tree / mission tree — and every assembled piece names its source; the caller's
13
+ // resolver decides the kind, this module labels). Budgets are evaluated AT COMPOSE
14
+ // and on overage REPORT the amount and the priority-ordered drop candidates —
15
+ // composition never silently truncates (mini-req 9; D2: budgets flag for review,
16
+ // never silently govern).
17
+ //
18
+ // PURE by contract, like the manifest parser: file text arrives through the caller's
19
+ // readFile so the same algebra serves library packs today and configured tree roots
20
+ // (seat/mission sources) when the wiring atom lands. Every failure is LOUD and names
21
+ // the atom — a compose stops rather than thinning the walk (the Q1 rationale).
22
+ import { estimateTokensFromBytes } from "./token-estimate.js";
23
+ import { AddressResolutionError, parseAddress, resolveAddress } from "../markdown-address.js";
24
+ export class ProfileComposeError extends Error {
25
+ constructor(message) {
26
+ super(message);
27
+ this.name = "ProfileComposeError";
28
+ }
29
+ }
30
+ /** Which situation tags select atoms for a profile, per the locked algebra. */
31
+ function selectionTags(situation) {
32
+ switch (situation) {
33
+ case "fresh":
34
+ return ["fresh"];
35
+ case "handover":
36
+ return ["fresh", "handover"];
37
+ case "post-compaction":
38
+ return ["post-compaction", "handover"];
39
+ }
40
+ }
41
+ const DROP_ORDER = { optional: 0, recommended: 1, core: 2 };
42
+ export function composeProfile(input) {
43
+ const { atoms, situation, runtime, readFile, budgetTokens, sourceKindFor } = input;
44
+ const byId = new Map(atoms.map((a) => [a.id, a]));
45
+ // 1. SELECT by situation tag, then filter by runtime (an "any" atom serves both).
46
+ const tags = selectionTags(situation);
47
+ const runtimeFits = (a) => a.runtime === "any" || a.runtime === runtime;
48
+ const selected = new Map();
49
+ for (const a of atoms) {
50
+ if (a.situations.some((s) => tags.includes(s)) && runtimeFits(a))
51
+ selected.set(a.id, a);
52
+ }
53
+ // 2. CLOSE over requires: a required atom joins the profile even when untagged.
54
+ // A dependency that exists but is excluded by the RUNTIME filter is a broken
55
+ // graph for this runtime — fail loud, never a quietly thinner walk.
56
+ const queue = [...selected.keys()];
57
+ while (queue.length > 0) {
58
+ const id = queue.pop();
59
+ for (const req of selected.get(id)?.requires ?? byId.get(id)?.requires ?? []) {
60
+ if (selected.has(req))
61
+ continue;
62
+ const dep = byId.get(req);
63
+ if (!dep) {
64
+ throw new ProfileComposeError(`atom '${id}' requires '${req}', which is not in the graph — the ${situation} profile cannot close.`);
65
+ }
66
+ if (!runtimeFits(dep)) {
67
+ throw new ProfileComposeError(`atom '${id}' requires '${req}', but '${req}' is declared runtime=${dep.runtime} and this compose targets runtime=${runtime} — ` +
68
+ `the closure would silently thin the ${situation} walk; fix the graph (retag '${req}' or drop the edge).`);
69
+ }
70
+ selected.set(req, dep);
71
+ queue.push(req);
72
+ }
73
+ }
74
+ // 3. ORDER the walk (stable: order, then id — absorption depends on sequence).
75
+ const walk = [...selected.values()].sort((x, y) => x.order - y.order || x.id.localeCompare(y.id));
76
+ // 4. RESOLVE every piece through the one address machinery; label its source.
77
+ const pieces = walk.map((a) => {
78
+ const { ref, headerPath } = parseAddress(a.address);
79
+ let fileText;
80
+ try {
81
+ fileText = readFile(ref);
82
+ }
83
+ catch (err) {
84
+ throw new ProfileComposeError(`atom '${a.id}' (${a.address}): source file '${ref}' is unreadable — ${err.message}`);
85
+ }
86
+ let text;
87
+ if (headerPath.length === 0) {
88
+ text = fileText;
89
+ }
90
+ else {
91
+ try {
92
+ text = resolveAddress(fileText, headerPath).text;
93
+ }
94
+ catch (err) {
95
+ if (err instanceof AddressResolutionError) {
96
+ throw new ProfileComposeError(`atom '${a.id}' (${a.address}): ${err.message}`);
97
+ }
98
+ throw err;
99
+ }
100
+ }
101
+ return {
102
+ atomId: a.id,
103
+ address: a.address,
104
+ sourceKind: sourceKindFor?.(a) ?? "library",
105
+ order: a.order,
106
+ priority: a.priority,
107
+ text,
108
+ estimatedTokens: estimateTokensFromBytes(Buffer.byteLength(text, "utf-8")),
109
+ };
110
+ });
111
+ const totalEstimatedTokens = pieces.reduce((sum, p) => sum + p.estimatedTokens, 0);
112
+ // 5. BUDGET report (mini-req 9): flag, never govern — all pieces stay.
113
+ let budget;
114
+ if (budgetTokens !== undefined && totalEstimatedTokens > budgetTokens) {
115
+ budget = {
116
+ limitTokens: budgetTokens,
117
+ overageTokens: totalEstimatedTokens - budgetTokens,
118
+ dropCandidates: [...pieces]
119
+ .sort((x, y) => DROP_ORDER[x.priority] - DROP_ORDER[y.priority] || y.estimatedTokens - x.estimatedTokens || x.atomId.localeCompare(y.atomId))
120
+ .map((p) => ({ atomId: p.atomId, priority: p.priority, estimatedTokens: p.estimatedTokens })),
121
+ };
122
+ }
123
+ return { situation, runtime, pieces, totalEstimatedTokens, ...(budget !== undefined ? { budget } : {}) };
124
+ }
125
+ //# sourceMappingURL=profile-composer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-composer.js","sourceRoot":"","sources":["../../../src/domain/context-packs/profile-composer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { SourceKind } from "./profile-composer.js";
2
+ export declare class SourceResolutionError extends Error {
3
+ constructor(message: string);
4
+ }
5
+ declare const TREE_KINDS: readonly ["seat", "mission"];
6
+ export type TreeKind = (typeof TREE_KINDS)[number];
7
+ export interface ParsedSourceRef {
8
+ kind: SourceKind;
9
+ /** Relative path under the pack dir (library) or the kind's configured root. */
10
+ rel: string;
11
+ }
12
+ /** Split a pre-`#` ref into its resolver kind + relative path. Fail-loud on an
13
+ * unknown prefix or a traversal-shaped path — a clean refusal, never an escape
14
+ * (the r2-B3 precedent from the trace verb). */
15
+ export declare function parseSourceRef(ref: string): ParsedSourceRef;
16
+ export interface ProfileSourceRoots {
17
+ /** The seat's tree directory (recap + lore beside LEARNED) — from config. */
18
+ seat?: string;
19
+ /** The mission's tree directory — from config. */
20
+ mission?: string;
21
+ }
22
+ /** Byte-provenance record for one successful read (r1 rider 1 via 4a's review):
23
+ * the label must be CHECKABLE, not merely asserted — with a symlink in play a
24
+ * source label is accurate about the REF and wrong about the BYTES, and that
25
+ * bites on benign symlinks, not just hostile ones. */
26
+ export interface SourceReadRecord {
27
+ ref: string;
28
+ kind: SourceKind;
29
+ /** The root the read was granted against. */
30
+ base: string;
31
+ /** base + rel, before symlink resolution. */
32
+ nominalPath: string;
33
+ /** Where the BYTES actually came from (realpath after the successful read). */
34
+ realPath: string;
35
+ /** True when realPath sits outside base. Computed via path.relative — never a
36
+ * bare string prefix (r1: `startsWith` says /seat-evil is inside /seat). */
37
+ escapesRoot: boolean;
38
+ }
39
+ /** Build the composer's fail-loud readFile over the pack dir + configured tree
40
+ * roots. Every failure names the source kind and what was being resolved —
41
+ * a missing root is a MISSING CONFIG error, never a silent empty; a DANGLING
42
+ * symlink is its own named failure (a realistic corpus state, not a generic
43
+ * unreadable). Each successful read reports byte provenance via onRead. */
44
+ export declare function makeProfileReadFile(opts: {
45
+ packDir: string;
46
+ roots: ProfileSourceRoots;
47
+ onRead?: (record: SourceReadRecord) => void;
48
+ }): (ref: string) => string;
49
+ /** The composer's per-piece source label (Q2-Amendment 1: every assembled piece
50
+ * is labeled with its source), derived from the atom's full address. */
51
+ export declare function sourceKindForAddress(address: string): SourceKind;
52
+ export {};
53
+ //# sourceMappingURL=profile-source-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-source-resolver.d.ts","sourceRoot":"","sources":["../../../src/domain/context-packs/profile-source-resolver.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,QAAA,MAAM,UAAU,8BAA+B,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;iDAEiD;AACjD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CA0B3D;AAED,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;uDAGuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB;iFAC6E;IAC7E,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;4EAI4E;AAC5E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC7C,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CA8D1B;AAED;yEACyE;AACzE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAEhE"}