@openrig/cli 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/daemon/assets/plugins/openrig-core/hooks/claude.json +36 -0
  2. package/daemon/assets/plugins/openrig-core/hooks/codex.json +27 -0
  3. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +132 -0
  4. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +35 -3
  5. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +8 -95
  6. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +63 -20
  7. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +6 -2
  8. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +28 -2
  9. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +42 -52
  10. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +23 -1
  11. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +7 -2
  12. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +64 -0
  13. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +235 -0
  14. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +31 -1
  15. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/CHANGELOG.md +48 -0
  16. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +211 -0
  17. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +8 -0
  18. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +28 -1
  19. package/daemon/context-packs/skills/core/agent-starters/SKILL.md +132 -0
  20. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +9 -0
  21. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +112 -0
  22. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +9 -0
  23. package/daemon/context-packs/skills/core/attention-queue/SKILL.md +264 -0
  24. package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +9 -0
  25. package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +195 -0
  26. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +9 -0
  27. package/daemon/context-packs/skills/core/human-in-the-loop/SKILL.md +104 -0
  28. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +9 -0
  29. package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +378 -0
  30. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +9 -0
  31. package/daemon/context-packs/skills/core/openrig-cmux/SKILL.md +81 -0
  32. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +9 -0
  33. package/daemon/context-packs/skills/core/openrig-herdr/SKILL.md +153 -0
  34. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +9 -0
  35. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +460 -0
  36. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +9 -0
  37. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
  38. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +9 -0
  39. package/daemon/context-packs/skills/core/rig-lifecycle/SKILL.md +127 -0
  40. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +9 -0
  41. package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +160 -0
  42. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +9 -0
  43. package/daemon/context-packs/skills/core/specification-system/SKILL.md +103 -0
  44. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +9 -0
  45. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
  46. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +9 -0
  47. package/daemon/context-packs/skills/core/watchdog/SKILL.md +126 -0
  48. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +9 -0
  49. package/daemon/context-packs/skills/pm/backlog-capture/SKILL.md +43 -0
  50. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +9 -0
  51. package/daemon/context-packs/skills/pm/context-builder/SKILL.md +87 -0
  52. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +9 -0
  53. package/daemon/context-packs/skills/pm/exec-summary/SKILL.md +84 -0
  54. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +9 -0
  55. package/daemon/context-packs/skills/pm/office-hours/SKILL.md +129 -0
  56. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +9 -0
  57. package/daemon/context-packs/skills/pm/plan-review/SKILL.md +98 -0
  58. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +9 -0
  59. package/daemon/context-packs/skills/pm/requirements-writer/SKILL.md +113 -0
  60. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +9 -0
  61. package/daemon/context-packs/skills/pm/ui-mockup/SKILL.md +76 -0
  62. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +9 -0
  63. package/daemon/context-packs/skills/pods/development-team/SKILL.md +156 -0
  64. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +9 -0
  65. package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +307 -0
  66. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +9 -0
  67. package/daemon/context-packs/skills/pods/oversight-team/SKILL.md +106 -0
  68. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +9 -0
  69. package/daemon/context-packs/skills/pods/review-team/SKILL.md +213 -0
  70. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +9 -0
  71. package/daemon/context-packs/skills/process/agent-browser/LOCAL-INSIGHTS.md +189 -0
  72. package/daemon/context-packs/skills/process/agent-browser/OPENRIG.md +40 -0
  73. package/daemon/context-packs/skills/process/agent-browser/SKILL.md +427 -0
  74. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +13 -0
  75. package/daemon/context-packs/skills/process/brainstorming/OPENRIG.md +48 -0
  76. package/daemon/context-packs/skills/process/brainstorming/SKILL.md +107 -0
  77. package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +11 -0
  78. package/daemon/context-packs/skills/process/context-engineering/SKILL.md +479 -0
  79. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +9 -0
  80. package/daemon/context-packs/skills/process/dogfood/SKILL.md +225 -0
  81. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +13 -0
  82. package/daemon/context-packs/skills/process/dogfood/references/issue-taxonomy.md +109 -0
  83. package/daemon/context-packs/skills/process/dogfood/templates/dogfood-report-template.md +53 -0
  84. package/daemon/context-packs/skills/process/executing-plans/OPENRIG.md +56 -0
  85. package/daemon/context-packs/skills/process/executing-plans/SKILL.md +94 -0
  86. package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +11 -0
  87. package/daemon/context-packs/skills/process/frontend-design/LICENSE.txt +177 -0
  88. package/daemon/context-packs/skills/process/frontend-design/SKILL.md +50 -0
  89. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +11 -0
  90. package/daemon/context-packs/skills/process/systematic-debugging/SKILL.md +301 -0
  91. package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting-example.ts +158 -0
  92. package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting.md +115 -0
  93. package/daemon/context-packs/skills/process/systematic-debugging/defense-in-depth.md +122 -0
  94. package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +63 -0
  95. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +19 -0
  96. package/daemon/context-packs/skills/process/systematic-debugging/root-cause-tracing.md +169 -0
  97. package/daemon/context-packs/skills/process/test-driven-development/SKILL.md +385 -0
  98. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +11 -0
  99. package/daemon/context-packs/skills/process/test-driven-development/testing-anti-patterns.md +299 -0
  100. package/daemon/context-packs/skills/process/using-superpowers/OPENRIG.md +48 -0
  101. package/daemon/context-packs/skills/process/using-superpowers/SKILL.md +106 -0
  102. package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +11 -0
  103. package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +155 -0
  104. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +9 -0
  105. package/daemon/context-packs/skills/process/writing-plans/OPENRIG.md +52 -0
  106. package/daemon/context-packs/skills/process/writing-plans/SKILL.md +126 -0
  107. package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +11 -0
  108. package/daemon/context-packs/world/install/01-world-from-primitives.md +97 -0
  109. package/daemon/context-packs/world/install/02-permission-self-sleep.md +141 -0
  110. package/daemon/context-packs/world/install/03-what-this-is-for.md +86 -0
  111. package/daemon/context-packs/world/install/04-ontology.md +790 -0
  112. package/daemon/context-packs/world/install/05-harness-power-use.md +355 -0
  113. package/daemon/context-packs/world/install/06-a-competent-turn.md +225 -0
  114. package/daemon/context-packs/world/install/manifest.yaml +125 -0
  115. package/daemon/context-packs/world/install/reference-material.md +125 -0
  116. package/daemon/context-packs/world/install/what-you-can-do.md +416 -0
  117. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  118. package/daemon/dist/adapters/claude-code-adapter.js +7 -4
  119. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  120. package/daemon/dist/adapters/claude-resume.js +2 -2
  121. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  122. package/daemon/dist/adapters/tmux.d.ts +10 -2
  123. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  124. package/daemon/dist/adapters/tmux.js +27 -7
  125. package/daemon/dist/adapters/tmux.js.map +1 -1
  126. package/daemon/dist/adapters/yolo-mode.d.ts +18 -0
  127. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  128. package/daemon/dist/adapters/yolo-mode.js +21 -0
  129. package/daemon/dist/adapters/yolo-mode.js.map +1 -1
  130. package/daemon/dist/build-info.js +3 -3
  131. package/daemon/dist/domain/codex-thread-id.d.ts +95 -0
  132. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  133. package/daemon/dist/domain/codex-thread-id.js +171 -2
  134. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  135. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
  136. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  137. package/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
  138. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  139. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  140. package/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
  141. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  142. package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
  143. package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
  144. package/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
  145. package/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
  146. package/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
  147. package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
  148. package/daemon/dist/domain/context-packs/profile-composer.js +125 -0
  149. package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
  150. package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
  151. package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
  152. package/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
  153. package/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
  154. package/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
  155. package/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
  156. package/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
  157. package/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
  158. package/daemon/dist/domain/markdown-address.d.ts +56 -0
  159. package/daemon/dist/domain/markdown-address.d.ts.map +1 -0
  160. package/daemon/dist/domain/markdown-address.js +188 -0
  161. package/daemon/dist/domain/markdown-address.js.map +1 -0
  162. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +8 -2
  163. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  164. package/daemon/dist/domain/model-divergence/current-generation-record.js +1 -1
  165. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  166. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +33 -21
  167. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  168. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +64 -55
  169. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  170. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  171. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  172. package/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
  173. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  174. package/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
  175. package/daemon/dist/domain/permission-drift-observer.js +6 -1
  176. package/daemon/dist/domain/permission-drift-observer.js.map +1 -1
  177. package/daemon/dist/domain/process-census.d.ts +25 -0
  178. package/daemon/dist/domain/process-census.d.ts.map +1 -0
  179. package/daemon/dist/domain/process-census.js +47 -0
  180. package/daemon/dist/domain/process-census.js.map +1 -0
  181. package/daemon/dist/domain/resume-metadata-refresher.d.ts +31 -2
  182. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  183. package/daemon/dist/domain/resume-metadata-refresher.js +64 -29
  184. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  185. package/daemon/dist/domain/review/compose.d.ts +5 -26
  186. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  187. package/daemon/dist/domain/review/compose.js +31 -57
  188. package/daemon/dist/domain/review/compose.js.map +1 -1
  189. package/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
  190. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  191. package/daemon/dist/domain/rigspec-instantiator.js +39 -0
  192. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  193. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  194. package/daemon/dist/domain/rigspec-schema.js +19 -3
  195. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  196. package/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
  197. package/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
  198. package/daemon/dist/domain/scope/logical-checkbox.js +65 -0
  199. package/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
  200. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +1 -1
  201. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  202. package/daemon/dist/domain/scope/plan-lock-artifacts.js +2 -2
  203. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  204. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
  205. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
  206. package/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
  207. package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
  208. package/daemon/dist/domain/seat-activity-service.d.ts +1 -0
  209. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  210. package/daemon/dist/domain/seat-activity-service.js +39 -23
  211. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  212. package/daemon/dist/domain/seat-handover-service.d.ts +22 -0
  213. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  214. package/daemon/dist/domain/seat-handover-service.js +32 -2
  215. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  216. package/daemon/dist/domain/session-transport.d.ts +8 -0
  217. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  218. package/daemon/dist/domain/session-transport.js +116 -0
  219. package/daemon/dist/domain/session-transport.js.map +1 -1
  220. package/daemon/dist/domain/shell-classifier.d.ts +23 -0
  221. package/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
  222. package/daemon/dist/domain/shell-classifier.js +36 -0
  223. package/daemon/dist/domain/shell-classifier.js.map +1 -0
  224. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  225. package/daemon/dist/domain/slices/slice-detail-projector.js +10 -1
  226. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  227. package/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
  228. package/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
  229. package/daemon/dist/domain/spec-validation-advisory.js +38 -0
  230. package/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
  231. package/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
  232. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  233. package/daemon/dist/domain/successor-session-launcher.js +38 -1
  234. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  235. package/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
  236. package/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
  237. package/daemon/dist/domain/topology-defaults-installer.js +92 -0
  238. package/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
  239. package/daemon/dist/domain/transcript-rotation.d.ts +4 -0
  240. package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  241. package/daemon/dist/domain/transcript-rotation.js +61 -3
  242. package/daemon/dist/domain/transcript-rotation.js.map +1 -1
  243. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  244. package/daemon/dist/domain/transcript-store.js +9 -2
  245. package/daemon/dist/domain/transcript-store.js.map +1 -1
  246. package/daemon/dist/domain/types.d.ts +3 -0
  247. package/daemon/dist/domain/types.d.ts.map +1 -1
  248. package/daemon/dist/domain/user-settings/settings-store.d.ts +10 -1
  249. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  250. package/daemon/dist/domain/user-settings/settings-store.js +39 -0
  251. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  252. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  253. package/daemon/dist/routes/context-packs.js +205 -0
  254. package/daemon/dist/routes/context-packs.js.map +1 -1
  255. package/daemon/dist/routes/seat.d.ts.map +1 -1
  256. package/daemon/dist/routes/seat.js +11 -0
  257. package/daemon/dist/routes/seat.js.map +1 -1
  258. package/daemon/dist/routes/sessions.js +55 -0
  259. package/daemon/dist/routes/sessions.js.map +1 -1
  260. package/daemon/dist/routes/transport.d.ts.map +1 -1
  261. package/daemon/dist/routes/transport.js +12 -3
  262. package/daemon/dist/routes/transport.js.map +1 -1
  263. package/daemon/dist/seat-recap-store-surface.d.ts +2 -0
  264. package/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
  265. package/daemon/dist/seat-recap-store-surface.js +6 -0
  266. package/daemon/dist/seat-recap-store-surface.js.map +1 -0
  267. package/daemon/dist/startup.d.ts.map +1 -1
  268. package/daemon/dist/startup.js +37 -6
  269. package/daemon/dist/startup.js.map +1 -1
  270. package/daemon/docs/reference/chain-file-convention.md +115 -0
  271. package/daemon/docs/reference/legacy-topology-migration.md +53 -0
  272. package/daemon/docs/reference/refocus-channel.md +80 -0
  273. package/daemon/docs/reference/sdlc-conventions.md +24 -0
  274. package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +1 -1
  275. package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +1 -1
  276. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +1 -1
  277. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +4 -4
  278. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +8 -0
  279. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +72 -31
  280. package/daemon/specs/agents/shared/skills/pods/oversight-team/SKILL.md +106 -0
  281. package/daemon/specs/agents/shared/skills/process/context-engineering/SKILL.md +479 -0
  282. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +9 -0
  283. package/daemon/specs/rigs/launch/demo/project-example/README.md +25 -0
  284. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/SPEC.md +19 -0
  285. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROGRESS.md +6 -0
  286. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROOF.md +7 -0
  287. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/SPEC.md +31 -0
  288. package/daemon/specs/rigs/preview/product-team/topology/instance/CRAFT.md +24 -0
  289. package/daemon/specs/rigs/preview/product-team/topology/rig/CRAFT.md +21 -0
  290. package/daemon/specs/rigs/preview/product-team/topology/rig/ORCHESTRATION-CRAFT.md +50 -0
  291. package/daemon/specs/rigs/preview/product-team/topology/seats/dev1-qa/CRAFT.md +13 -0
  292. package/daemon/specs/rigs/preview/product-team/topology/seats/orch1-lead/CRAFT.md +17 -0
  293. package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r1/CRAFT.md +17 -0
  294. package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r2/CRAFT.md +15 -0
  295. package/dist/build-info.js +3 -3
  296. package/dist/commands/config.d.ts.map +1 -1
  297. package/dist/commands/config.js +8 -0
  298. package/dist/commands/config.js.map +1 -1
  299. package/dist/commands/context.d.ts.map +1 -1
  300. package/dist/commands/context.js +353 -48
  301. package/dist/commands/context.js.map +1 -1
  302. package/dist/commands/proof.d.ts.map +1 -1
  303. package/dist/commands/proof.js +70 -12
  304. package/dist/commands/proof.js.map +1 -1
  305. package/dist/commands/rig.d.ts.map +1 -1
  306. package/dist/commands/rig.js +5 -0
  307. package/dist/commands/rig.js.map +1 -1
  308. package/dist/commands/transcript.d.ts.map +1 -1
  309. package/dist/commands/transcript.js +25 -1
  310. package/dist/commands/transcript.js.map +1 -1
  311. package/dist/commands/walk.d.ts.map +1 -1
  312. package/dist/commands/walk.js +279 -26
  313. package/dist/commands/walk.js.map +1 -1
  314. package/dist/config-store.d.ts +15 -1
  315. package/dist/config-store.d.ts.map +1 -1
  316. package/dist/config-store.js +35 -1
  317. package/dist/config-store.js.map +1 -1
  318. package/dist/lib/scope/logical-checkbox.d.ts +26 -0
  319. package/dist/lib/scope/logical-checkbox.d.ts.map +1 -0
  320. package/dist/lib/scope/logical-checkbox.js +65 -0
  321. package/dist/lib/scope/logical-checkbox.js.map +1 -0
  322. package/dist/lib/scope/scaffold-placeholder.d.ts +22 -0
  323. package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -1
  324. package/dist/lib/scope/scaffold-placeholder.js +24 -0
  325. package/dist/lib/scope/scaffold-placeholder.js.map +1 -1
  326. package/dist/lib/topology-trace.d.ts +36 -0
  327. package/dist/lib/topology-trace.d.ts.map +1 -0
  328. package/dist/lib/topology-trace.js +91 -0
  329. package/dist/lib/topology-trace.js.map +1 -0
  330. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  331. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +7 -4
  332. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  333. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js +2 -2
  334. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js.map +1 -1
  335. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +10 -2
  336. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
  337. package/node_modules/@openrig/daemon/dist/adapters/tmux.js +27 -7
  338. package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
  339. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts +18 -0
  340. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  341. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js +21 -0
  342. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js.map +1 -1
  343. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  344. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts +95 -0
  345. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  346. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js +171 -2
  347. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js.map +1 -1
  348. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
  349. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  350. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
  351. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  352. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  353. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
  354. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  355. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
  356. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
  357. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
  358. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
  359. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
  360. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
  361. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +125 -0
  362. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
  363. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
  364. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
  365. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
  366. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
  367. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
  368. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
  369. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
  370. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
  371. package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts +56 -0
  372. package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts.map +1 -0
  373. package/node_modules/@openrig/daemon/dist/domain/markdown-address.js +188 -0
  374. package/node_modules/@openrig/daemon/dist/domain/markdown-address.js.map +1 -0
  375. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +8 -2
  376. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  377. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +1 -1
  378. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  379. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +33 -21
  380. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  381. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js +64 -55
  382. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  383. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  384. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  385. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
  386. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  387. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
  388. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js +6 -1
  389. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js.map +1 -1
  390. package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts +25 -0
  391. package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts.map +1 -0
  392. package/node_modules/@openrig/daemon/dist/domain/process-census.js +47 -0
  393. package/node_modules/@openrig/daemon/dist/domain/process-census.js.map +1 -0
  394. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts +31 -2
  395. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  396. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js +64 -29
  397. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  398. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +5 -26
  399. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +1 -1
  400. package/node_modules/@openrig/daemon/dist/domain/review/compose.js +31 -57
  401. package/node_modules/@openrig/daemon/dist/domain/review/compose.js.map +1 -1
  402. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
  403. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  404. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +39 -0
  405. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  406. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  407. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +19 -3
  408. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
  409. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
  410. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
  411. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js +65 -0
  412. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
  413. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +1 -1
  414. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  415. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +2 -2
  416. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  417. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
  418. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
  419. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
  420. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
  421. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts +1 -0
  422. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  423. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js +39 -23
  424. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js.map +1 -1
  425. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +22 -0
  426. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  427. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +32 -2
  428. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +1 -1
  429. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts +8 -0
  430. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts.map +1 -1
  431. package/node_modules/@openrig/daemon/dist/domain/session-transport.js +116 -0
  432. package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
  433. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts +23 -0
  434. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
  435. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js +36 -0
  436. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js.map +1 -0
  437. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  438. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +10 -1
  439. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  440. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
  441. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
  442. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js +38 -0
  443. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
  444. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
  445. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  446. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js +38 -1
  447. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  448. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
  449. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
  450. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js +92 -0
  451. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
  452. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts +4 -0
  453. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  454. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js +61 -3
  455. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js.map +1 -1
  456. package/node_modules/@openrig/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  457. package/node_modules/@openrig/daemon/dist/domain/transcript-store.js +9 -2
  458. package/node_modules/@openrig/daemon/dist/domain/transcript-store.js.map +1 -1
  459. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +3 -0
  460. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  461. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +10 -1
  462. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  463. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +39 -0
  464. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  465. package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
  466. package/node_modules/@openrig/daemon/dist/routes/context-packs.js +205 -0
  467. package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
  468. package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
  469. package/node_modules/@openrig/daemon/dist/routes/seat.js +11 -0
  470. package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
  471. package/node_modules/@openrig/daemon/dist/routes/sessions.js +55 -0
  472. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
  473. package/node_modules/@openrig/daemon/dist/routes/transport.d.ts.map +1 -1
  474. package/node_modules/@openrig/daemon/dist/routes/transport.js +12 -3
  475. package/node_modules/@openrig/daemon/dist/routes/transport.js.map +1 -1
  476. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts +2 -0
  477. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
  478. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js +6 -0
  479. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js.map +1 -0
  480. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  481. package/node_modules/@openrig/daemon/dist/startup.js +37 -6
  482. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  483. package/node_modules/@openrig/daemon/package.json +6 -1
  484. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"rigspec-instantiator.js","sourceRoot":"","sources":["../../src/domain/rigspec-instantiator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rigspec-instantiator.js","sourceRoot":"","sources":["../../src/domain/rigspec-instantiator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rigspec-schema.d.ts","sourceRoot":"","sources":["../../src/domain/rigspec-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGb,OAAO,EAMP,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAapB,eAAO,MAAM,gBAAgB,aAA8F,CAAC;AAE5H;;;;;yFAKyF;AACzF,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAAe,CAAC;AAS7E;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,gBAAgB;IA+GnG;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;CA4BxD;AAo3BD,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IAiF/C,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa;CAoC9C"}
1
+ {"version":3,"file":"rigspec-schema.d.ts","sourceRoot":"","sources":["../../src/domain/rigspec-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGb,OAAO,EAMP,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAcpB,eAAO,MAAM,gBAAgB,aAA8F,CAAC;AAE5H;;;;;yFAKyF;AACzF,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAA2C,CAAC;AASzG;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,gBAAgB;IAmHnG;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;CA4BxD;AAo3BD,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IA2F/C,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa;CAoC9C"}
@@ -1,5 +1,6 @@
1
1
  import { WORKSPACE_KINDS } from "./types.js";
2
2
  import { validateSafePath } from "./path-safety.js";
3
+ import { aliasModelPinAdvisory } from "./spec-validation-advisory.js";
3
4
  import { validatePermissionPolicyRef } from "./permission-policy/policy-ref.js";
4
5
  import { validateStartupBlock, normalizeStartupBlock } from "./startup-validation.js";
5
6
  import { COMPOSE_PROJECT_NAME_PATTERN, deriveComposeProjectName } from "./compose-project-name.js";
@@ -15,7 +16,7 @@ export const VALID_EDGE_KINDS = new Set(["delegates_to", "spawned_by", "can_obse
15
16
  * spec-validation ADVISORY, when it lands model-pin canonicalization, MUST add
16
17
  * "model-pin-canonicalization" — that single line mechanically kills the claude alias migration
17
18
  * bridge at runtime AND turns its pin test red until the bridge constant is deleted. */
18
- export const SPEC_VALIDATION_CAPABILITIES = new Set([]);
19
+ export const SPEC_VALIDATION_CAPABILITIES = new Set(["model-pin-canonicalization"]);
19
20
  const VALID_SYNC_TRIGGERS = new Set(["pre_compaction", "pre_shutdown", "manual", "milestone"]);
20
21
  const VALID_RESTORE_POLICIES = new Set(["resume_if_possible", "relaunch_fresh", "checkpoint_only"]);
21
22
  const VALID_IMPORT_PREFIXES = ["local:", "path:"];
@@ -34,6 +35,8 @@ export class RigSpecSchema {
34
35
  */
35
36
  static validate(raw, opts) {
36
37
  const errors = [];
38
+ // OPR.0.5.3.3 — fail-open advisories (never affect `valid`); e.g. alias-form model pins.
39
+ const advisories = [];
37
40
  if (!raw || typeof raw !== "object") {
38
41
  return { valid: false, errors: ["rig spec must be an object"] };
39
42
  }
@@ -123,6 +126,9 @@ export class RigSpecSchema {
123
126
  for (const m of members) {
124
127
  if (m["id"])
125
128
  allQualifiedIds.add(`${podId}.${m["id"]}`);
129
+ const pinAdvisory = aliasModelPinAdvisory(m["model"], `pods.${podId}.members.${m["id"] ?? "?"}`);
130
+ if (pinAdvisory)
131
+ advisories.push(pinAdvisory);
126
132
  }
127
133
  }
128
134
  }
@@ -138,7 +144,7 @@ export class RigSpecSchema {
138
144
  }
139
145
  }
140
146
  }
141
- return { valid: errors.length === 0, errors };
147
+ return { valid: errors.length === 0, errors, ...(advisories.length ? { advisories } : {}) };
142
148
  }
143
149
  /**
144
150
  * Normalize a validated rig spec into the canonical typed shape.
@@ -1033,6 +1039,9 @@ const LEGACY_KNOWN_EDGE_KINDS = new Set(["delegates_to", "spawned_by", "can_obse
1033
1039
  export class LegacyRigSpecSchema {
1034
1040
  static validate(raw) {
1035
1041
  const errors = [];
1042
+ // OPR.0.5.3.3 (r2 HIGH-1): the legacy auto-detected path must ALSO surface alias-pin
1043
+ // advisories — fail-open, never affecting valid/errors (the pod-aware path already does).
1044
+ const advisories = [];
1036
1045
  if (!raw || typeof raw !== "object") {
1037
1046
  return { valid: false, errors: ["spec must be an object"] };
1038
1047
  }
@@ -1055,6 +1064,13 @@ export class LegacyRigSpecSchema {
1055
1064
  const nodeIds = new Set();
1056
1065
  if (Array.isArray(obj["nodes"])) {
1057
1066
  for (const node of obj["nodes"]) {
1067
+ // OPR.0.5.3.3 (r2 HIGH-1, round 2): the alias advisory is INDEPENDENT of id validity — a
1068
+ // fable-pinned node still needs the migration nudge even when it fails the id guard below.
1069
+ // Collect it BEFORE the early continue, with a `?` fallback location (mirrors the pod-aware path).
1070
+ const nodeWhere = typeof node["id"] === "string" && node["id"] ? node["id"] : "?";
1071
+ const pinAdvisory = aliasModelPinAdvisory(node["model"], `nodes.${nodeWhere}`);
1072
+ if (pinAdvisory)
1073
+ advisories.push(pinAdvisory);
1058
1074
  if (!node["id"] || typeof node["id"] !== "string") {
1059
1075
  errors.push("each node must have a string id");
1060
1076
  continue;
@@ -1109,7 +1125,7 @@ export class LegacyRigSpecSchema {
1109
1125
  errors.push(`unknown edge kind: '${kind}'`);
1110
1126
  }
1111
1127
  }
1112
- return { valid: errors.length === 0, errors };
1128
+ return { valid: errors.length === 0, errors, ...(advisories.length ? { advisories } : {}) };
1113
1129
  }
1114
1130
  static normalize(raw) {
1115
1131
  const result = this.validate(raw);