@openrig/cli 0.5.4 → 0.5.5

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 (747) hide show
  1. package/daemon/assets/guidance/openrig-start.md +7 -0
  2. package/daemon/assets/onboarding/01-world-and-purpose.md +52 -0
  3. package/daemon/assets/onboarding/02-self-and-competent-action.md +57 -0
  4. package/daemon/assets/plugins/openrig-core/README.md +5 -2
  5. package/daemon/assets/plugins/openrig-core/hooks/claude.json +3 -12
  6. package/daemon/assets/plugins/openrig-core/hooks/codex.json +5 -12
  7. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +194 -124
  8. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +18 -23
  9. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/CHANGELOG.md +92 -0
  10. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/REVISION-GUIDE.md +34 -0
  11. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROADMAP.md +23 -0
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROLLOUT.md +234 -0
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +404 -0
  14. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/compose.py +653 -0
  15. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/scaffold.sh +34 -0
  16. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trace-due.sh +32 -0
  17. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trace-stamp.sh +5 -0
  18. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trunk-diff.sh +18 -0
  19. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/LEARNED.md +40 -0
  20. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/NOTES.md +9 -0
  21. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/PLAYBOOK.md +5 -0
  22. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/SOP.md +24 -0
  23. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/SPEC.md +54 -0
  24. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +2 -0
  25. package/daemon/assets/plugins/openrig-core/skills/refocusing/SKILL.md +31 -0
  26. package/daemon/assets/plugins/openrig-core/skills/refocusing/references/refocus.md +22 -0
  27. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +221 -0
  28. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +3 -3
  29. package/daemon/context-packs/onboarding-width/manifest.yaml +11 -0
  30. package/daemon/context-packs/{world/install/reference-material.md → onboarding-width/public-reference-material.md} +4 -26
  31. package/daemon/context-packs/{world/install/what-you-can-do.md → onboarding-width/public-what-you-can-do.md} +13 -9
  32. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -1
  34. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/pm/requirements-writer/SKILL.md +21 -15
  54. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +3 -3
  55. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  67. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +1 -1
  71. package/daemon/context-packs/world-example/manifest.yaml +8 -0
  72. package/daemon/context-packs/world-example/your-world.md +37 -0
  73. package/daemon/dist/adapters/claude-code-adapter.d.ts +15 -0
  74. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  75. package/daemon/dist/adapters/claude-code-adapter.js +57 -0
  76. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  77. package/daemon/dist/build-info.js +3 -3
  78. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  79. package/daemon/dist/db/all-migrations.js +4 -0
  80. package/daemon/dist/db/all-migrations.js.map +1 -1
  81. package/daemon/dist/db/migrations/072_thread_seat_map.d.ts +3 -0
  82. package/daemon/dist/db/migrations/072_thread_seat_map.d.ts.map +1 -0
  83. package/daemon/dist/db/migrations/072_thread_seat_map.js +22 -0
  84. package/daemon/dist/db/migrations/072_thread_seat_map.js.map +1 -0
  85. package/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts +3 -0
  86. package/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts.map +1 -0
  87. package/daemon/dist/db/migrations/073_queue_transition_wakes.js +21 -0
  88. package/daemon/dist/db/migrations/073_queue_transition_wakes.js.map +1 -0
  89. package/daemon/dist/domain/activity-taxonomy.d.ts +112 -0
  90. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -0
  91. package/daemon/dist/domain/activity-taxonomy.js +99 -0
  92. package/daemon/dist/domain/activity-taxonomy.js.map +1 -0
  93. package/daemon/dist/domain/bind-plan.d.ts +19 -0
  94. package/daemon/dist/domain/bind-plan.d.ts.map +1 -0
  95. package/daemon/dist/domain/bind-plan.js +25 -0
  96. package/daemon/dist/domain/bind-plan.js.map +1 -0
  97. package/daemon/dist/domain/event-bus.d.ts +6 -0
  98. package/daemon/dist/domain/event-bus.d.ts.map +1 -1
  99. package/daemon/dist/domain/event-bus.js +15 -5
  100. package/daemon/dist/domain/event-bus.js.map +1 -1
  101. package/daemon/dist/domain/gateway/gateway-process-main.d.ts.map +1 -1
  102. package/daemon/dist/domain/gateway/gateway-process-main.js +9 -0
  103. package/daemon/dist/domain/gateway/gateway-process-main.js.map +1 -1
  104. package/daemon/dist/domain/gateway/gateway-process.d.ts.map +1 -1
  105. package/daemon/dist/domain/gateway/gateway-process.js +9 -0
  106. package/daemon/dist/domain/gateway/gateway-process.js.map +1 -1
  107. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +80 -0
  108. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -0
  109. package/daemon/dist/domain/gateway/gateway-subsystem.js +149 -0
  110. package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -0
  111. package/daemon/dist/domain/gateway/human-registry.d.ts +109 -0
  112. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  113. package/daemon/dist/domain/gateway/human-registry.js +250 -0
  114. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  115. package/{dist → daemon/dist/domain/gateway}/slack/config.d.ts +8 -5
  116. package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -0
  117. package/{dist → daemon/dist/domain/gateway}/slack/config.js +8 -6
  118. package/daemon/dist/domain/gateway/slack/config.js.map +1 -0
  119. package/{dist → daemon/dist/domain/gateway}/slack/inbound-admission.d.ts +1 -1
  120. package/daemon/dist/domain/gateway/slack/inbound-admission.d.ts.map +1 -0
  121. package/daemon/dist/domain/gateway/slack/inbound-admission.js.map +1 -0
  122. package/{dist → daemon/dist/domain/gateway}/slack/inbound.d.ts +14 -3
  123. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -0
  124. package/{dist → daemon/dist/domain/gateway}/slack/inbound.js +6 -5
  125. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -0
  126. package/daemon/dist/domain/gateway/slack/message.d.ts +80 -0
  127. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -0
  128. package/daemon/dist/domain/gateway/slack/message.js +164 -0
  129. package/daemon/dist/domain/gateway/slack/message.js.map +1 -0
  130. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +54 -0
  131. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -0
  132. package/daemon/dist/domain/gateway/slack/outbound-driver.js +96 -0
  133. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -0
  134. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +53 -0
  135. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -0
  136. package/daemon/dist/domain/gateway/slack/queue-access.js +72 -0
  137. package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -0
  138. package/daemon/dist/domain/gateway/slack/secrets.d.ts.map +1 -0
  139. package/daemon/dist/domain/gateway/slack/secrets.js.map +1 -0
  140. package/daemon/dist/domain/gateway/slack/slack-api.d.ts +106 -0
  141. package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -0
  142. package/daemon/dist/domain/gateway/slack/slack-api.js +198 -0
  143. package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -0
  144. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +47 -0
  145. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -0
  146. package/daemon/dist/domain/gateway/slack/slack-delivery.js +147 -0
  147. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -0
  148. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +21 -0
  149. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -0
  150. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +198 -0
  151. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -0
  152. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +30 -0
  153. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -0
  154. package/daemon/dist/domain/gateway/slack/socket-inbound.js +99 -0
  155. package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -0
  156. package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -0
  157. package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -0
  158. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts +17 -0
  159. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -0
  160. package/daemon/dist/domain/gateway/slack/thread-routing.js +35 -0
  161. package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -0
  162. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +56 -0
  163. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -0
  164. package/daemon/dist/domain/gateway/slack/thread-seat-map.js +103 -0
  165. package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -0
  166. package/daemon/dist/domain/gateway/spawn-gateway.d.ts.map +1 -1
  167. package/daemon/dist/domain/gateway/spawn-gateway.js +9 -0
  168. package/daemon/dist/domain/gateway/spawn-gateway.js.map +1 -1
  169. package/daemon/dist/domain/gateway/transport.d.ts.map +1 -1
  170. package/daemon/dist/domain/gateway/transport.js +9 -0
  171. package/daemon/dist/domain/gateway/transport.js.map +1 -1
  172. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  173. package/daemon/dist/domain/node-inventory.js +20 -0
  174. package/daemon/dist/domain/node-inventory.js.map +1 -1
  175. package/daemon/dist/domain/parked-query.d.ts +81 -0
  176. package/daemon/dist/domain/parked-query.d.ts.map +1 -0
  177. package/daemon/dist/domain/parked-query.js +126 -0
  178. package/daemon/dist/domain/parked-query.js.map +1 -0
  179. package/daemon/dist/domain/queue-pickup.d.ts +38 -0
  180. package/daemon/dist/domain/queue-pickup.d.ts.map +1 -0
  181. package/daemon/dist/domain/queue-pickup.js +67 -0
  182. package/daemon/dist/domain/queue-pickup.js.map +1 -0
  183. package/daemon/dist/domain/queue-repository.d.ts +38 -10
  184. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  185. package/daemon/dist/domain/queue-repository.js +267 -35
  186. package/daemon/dist/domain/queue-repository.js.map +1 -1
  187. package/daemon/dist/domain/queue-stuck-sweep.d.ts +77 -0
  188. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -0
  189. package/daemon/dist/domain/queue-stuck-sweep.js +348 -0
  190. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -0
  191. package/daemon/dist/domain/queue-wake-ladder.d.ts +96 -0
  192. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -0
  193. package/daemon/dist/domain/queue-wake-ladder.js +533 -0
  194. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -0
  195. package/daemon/dist/domain/queue-wake-repository.d.ts +37 -0
  196. package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -0
  197. package/daemon/dist/domain/queue-wake-repository.js +80 -0
  198. package/daemon/dist/domain/queue-wake-repository.js.map +1 -0
  199. package/daemon/dist/domain/rebuild-priming-chain.d.ts +28 -0
  200. package/daemon/dist/domain/rebuild-priming-chain.d.ts.map +1 -0
  201. package/daemon/dist/domain/rebuild-priming-chain.js +71 -0
  202. package/daemon/dist/domain/rebuild-priming-chain.js.map +1 -0
  203. package/daemon/dist/domain/review/compose.d.ts +3 -1
  204. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  205. package/daemon/dist/domain/review/compose.js +14 -8
  206. package/daemon/dist/domain/review/compose.js.map +1 -1
  207. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  208. package/daemon/dist/domain/review/gather.js +3 -1
  209. package/daemon/dist/domain/review/gather.js.map +1 -1
  210. package/daemon/dist/domain/rigspec-instantiator.d.ts +3 -0
  211. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  212. package/daemon/dist/domain/rigspec-instantiator.js +18 -0
  213. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  214. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +6 -5
  215. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  216. package/daemon/dist/domain/scope/plan-lock-artifacts.js +23 -20
  217. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  218. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +4 -5
  219. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
  220. package/daemon/dist/domain/scope/scaffold-placeholder.js +6 -7
  221. package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
  222. package/daemon/dist/domain/scope/scope-approve.d.ts +1 -1
  223. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  224. package/daemon/dist/domain/scope/scope-approve.js +5 -4
  225. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  226. package/daemon/dist/domain/scope/scope-audit.d.ts +42 -3
  227. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  228. package/daemon/dist/domain/scope/scope-audit.js +78 -93
  229. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  230. package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  231. package/daemon/dist/domain/scope/scope-view-projection.js +7 -2
  232. package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  233. package/daemon/dist/domain/seat-activity-service.d.ts +91 -0
  234. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  235. package/daemon/dist/domain/seat-activity-service.js +416 -1
  236. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  237. package/daemon/dist/domain/seat-handover-planner.d.ts +14 -0
  238. package/daemon/dist/domain/seat-handover-planner.d.ts.map +1 -1
  239. package/daemon/dist/domain/seat-handover-planner.js +14 -1
  240. package/daemon/dist/domain/seat-handover-planner.js.map +1 -1
  241. package/daemon/dist/domain/seat-handover-service.d.ts +54 -1
  242. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  243. package/daemon/dist/domain/seat-handover-service.js +162 -19
  244. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  245. package/daemon/dist/domain/session-transport.js +1 -2
  246. package/daemon/dist/domain/session-transport.js.map +1 -1
  247. package/daemon/dist/domain/successor-session-launcher.d.ts +6 -1
  248. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  249. package/daemon/dist/domain/successor-session-launcher.js +3 -3
  250. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  251. package/daemon/dist/domain/types.d.ts +33 -0
  252. package/daemon/dist/domain/types.d.ts.map +1 -1
  253. package/daemon/dist/domain/types.js.map +1 -1
  254. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  255. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  256. package/daemon/dist/domain/user-settings/settings-store.js +48 -0
  257. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  258. package/daemon/dist/domain/view-projector.d.ts +1 -1
  259. package/daemon/dist/domain/view-projector.d.ts.map +1 -1
  260. package/daemon/dist/domain/view-projector.js +41 -2
  261. package/daemon/dist/domain/view-projector.js.map +1 -1
  262. package/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -0
  263. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  264. package/daemon/dist/domain/watchdog-policy-engine.js +3 -0
  265. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  266. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +4 -3
  267. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  268. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +56 -196
  269. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  270. package/daemon/dist/domain/workspace/getting-started-narrative.js +1 -1
  271. package/daemon/dist/domain/workspace/getting-started-narrative.js.map +1 -1
  272. package/daemon/dist/domain/workspace/workspace-doctor.d.ts +8 -11
  273. package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  274. package/daemon/dist/domain/workspace/workspace-doctor.js +23 -25
  275. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  276. package/daemon/dist/gateway-slack-surface.d.ts +4 -0
  277. package/daemon/dist/gateway-slack-surface.d.ts.map +1 -0
  278. package/daemon/dist/gateway-slack-surface.js +8 -0
  279. package/daemon/dist/gateway-slack-surface.js.map +1 -0
  280. package/daemon/dist/index.d.ts +29 -0
  281. package/daemon/dist/index.d.ts.map +1 -1
  282. package/daemon/dist/index.js +99 -4
  283. package/daemon/dist/index.js.map +1 -1
  284. package/daemon/dist/lib/pane-envelope.d.ts +1 -1
  285. package/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
  286. package/daemon/dist/lib/pane-envelope.js +8 -14
  287. package/daemon/dist/lib/pane-envelope.js.map +1 -1
  288. package/daemon/dist/routes/activity.d.ts +13 -0
  289. package/daemon/dist/routes/activity.d.ts.map +1 -1
  290. package/daemon/dist/routes/activity.js +186 -0
  291. package/daemon/dist/routes/activity.js.map +1 -1
  292. package/daemon/dist/routes/config.js +2 -2
  293. package/daemon/dist/routes/config.js.map +1 -1
  294. package/daemon/dist/routes/gateway.d.ts +3 -0
  295. package/daemon/dist/routes/gateway.d.ts.map +1 -0
  296. package/daemon/dist/routes/gateway.js +46 -0
  297. package/daemon/dist/routes/gateway.js.map +1 -0
  298. package/daemon/dist/routes/health-summary.d.ts.map +1 -1
  299. package/daemon/dist/routes/health-summary.js +8 -0
  300. package/daemon/dist/routes/health-summary.js.map +1 -1
  301. package/daemon/dist/routes/queue.d.ts.map +1 -1
  302. package/daemon/dist/routes/queue.js +3 -1
  303. package/daemon/dist/routes/queue.js.map +1 -1
  304. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  305. package/daemon/dist/routes/scope-audit.js +72 -13
  306. package/daemon/dist/routes/scope-audit.js.map +1 -1
  307. package/daemon/dist/routes/seat.d.ts.map +1 -1
  308. package/daemon/dist/routes/seat.js +15 -0
  309. package/daemon/dist/routes/seat.js.map +1 -1
  310. package/daemon/dist/server.d.ts +17 -0
  311. package/daemon/dist/server.d.ts.map +1 -1
  312. package/daemon/dist/server.js +25 -4
  313. package/daemon/dist/server.js.map +1 -1
  314. package/daemon/dist/startup.d.ts +4 -0
  315. package/daemon/dist/startup.d.ts.map +1 -1
  316. package/daemon/dist/startup.js +33 -0
  317. package/daemon/dist/startup.js.map +1 -1
  318. package/daemon/docs/reference/agent-state-taxonomy.md +106 -0
  319. package/daemon/docs/reference/project-workspace.md +22 -14
  320. package/daemon/docs/reference/refocus-channel.md +27 -14
  321. package/daemon/docs/reference/sdlc-conventions.md +24 -13
  322. package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -1
  323. package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +21 -15
  324. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +1 -1
  325. package/dist/build-info.js +3 -3
  326. package/dist/commands/config-init-workspace.d.ts.map +1 -1
  327. package/dist/commands/config-init-workspace.js +32 -57
  328. package/dist/commands/config-init-workspace.js.map +1 -1
  329. package/dist/commands/config.d.ts.map +1 -1
  330. package/dist/commands/config.js +5 -0
  331. package/dist/commands/config.js.map +1 -1
  332. package/dist/commands/daemon.d.ts.map +1 -1
  333. package/dist/commands/daemon.js +14 -4
  334. package/dist/commands/daemon.js.map +1 -1
  335. package/dist/commands/gateway.d.ts +19 -1
  336. package/dist/commands/gateway.d.ts.map +1 -1
  337. package/dist/commands/gateway.js +157 -33
  338. package/dist/commands/gateway.js.map +1 -1
  339. package/dist/commands/parked.d.ts +3 -0
  340. package/dist/commands/parked.d.ts.map +1 -0
  341. package/dist/commands/parked.js +83 -0
  342. package/dist/commands/parked.js.map +1 -0
  343. package/dist/commands/proof.d.ts +2 -1
  344. package/dist/commands/proof.d.ts.map +1 -1
  345. package/dist/commands/proof.js +8 -8
  346. package/dist/commands/proof.js.map +1 -1
  347. package/dist/commands/ps.d.ts +10 -0
  348. package/dist/commands/ps.d.ts.map +1 -1
  349. package/dist/commands/ps.js +14 -3
  350. package/dist/commands/ps.js.map +1 -1
  351. package/dist/commands/queue.d.ts.map +1 -1
  352. package/dist/commands/queue.js +31 -3
  353. package/dist/commands/queue.js.map +1 -1
  354. package/dist/commands/scope.d.ts.map +1 -1
  355. package/dist/commands/scope.js +255 -136
  356. package/dist/commands/scope.js.map +1 -1
  357. package/dist/commands/seat.d.ts.map +1 -1
  358. package/dist/commands/seat.js +40 -10
  359. package/dist/commands/seat.js.map +1 -1
  360. package/dist/commands/send.d.ts +1 -1
  361. package/dist/commands/send.d.ts.map +1 -1
  362. package/dist/commands/send.js +13 -14
  363. package/dist/commands/send.js.map +1 -1
  364. package/dist/commands/slack.d.ts +14 -28
  365. package/dist/commands/slack.d.ts.map +1 -1
  366. package/dist/commands/slack.js +73 -187
  367. package/dist/commands/slack.js.map +1 -1
  368. package/dist/commands/start.d.ts +3 -0
  369. package/dist/commands/start.d.ts.map +1 -1
  370. package/dist/commands/start.js +12 -5
  371. package/dist/commands/start.js.map +1 -1
  372. package/dist/commands/up.d.ts.map +1 -1
  373. package/dist/commands/up.js +11 -4
  374. package/dist/commands/up.js.map +1 -1
  375. package/dist/commands/view.d.ts +4 -2
  376. package/dist/commands/view.d.ts.map +1 -1
  377. package/dist/commands/view.js +1 -1
  378. package/dist/commands/view.js.map +1 -1
  379. package/dist/commands/watchdog.d.ts.map +1 -1
  380. package/dist/commands/watchdog.js +2 -1
  381. package/dist/commands/watchdog.js.map +1 -1
  382. package/dist/commands/workspace.js +1 -1
  383. package/dist/config-store.d.ts +15 -1
  384. package/dist/config-store.d.ts.map +1 -1
  385. package/dist/config-store.js +60 -0
  386. package/dist/config-store.js.map +1 -1
  387. package/dist/cross-host-target.d.ts.map +1 -1
  388. package/dist/cross-host-target.js +5 -4
  389. package/dist/cross-host-target.js.map +1 -1
  390. package/dist/daemon-lifecycle.d.ts +45 -3
  391. package/dist/daemon-lifecycle.d.ts.map +1 -1
  392. package/dist/daemon-lifecycle.js +126 -0
  393. package/dist/daemon-lifecycle.js.map +1 -1
  394. package/dist/index.d.ts.map +1 -1
  395. package/dist/index.js +2 -0
  396. package/dist/index.js.map +1 -1
  397. package/dist/lib/scope/capability-delta.d.ts +9 -0
  398. package/dist/lib/scope/capability-delta.d.ts.map +1 -0
  399. package/dist/lib/scope/capability-delta.js +73 -0
  400. package/dist/lib/scope/capability-delta.js.map +1 -0
  401. package/dist/lib/scope/scaffold-placeholder.d.ts +4 -5
  402. package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -1
  403. package/dist/lib/scope/scaffold-placeholder.js +6 -7
  404. package/dist/lib/scope/scaffold-placeholder.js.map +1 -1
  405. package/dist/lib/scope/scope-audit.d.ts +42 -3
  406. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  407. package/dist/lib/scope/scope-audit.js +78 -93
  408. package/dist/lib/scope/scope-audit.js.map +1 -1
  409. package/dist/lib/scope/scope-fs.d.ts +18 -14
  410. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  411. package/dist/lib/scope/scope-fs.js +60 -29
  412. package/dist/lib/scope/scope-fs.js.map +1 -1
  413. package/dist/lib/scope/templates.d.ts +17 -17
  414. package/dist/lib/scope/templates.d.ts.map +1 -1
  415. package/dist/lib/scope/templates.js +35 -39
  416. package/dist/lib/scope/templates.js.map +1 -1
  417. package/dist/lib/scope-templates/backlog-deprecation.md +3 -1
  418. package/dist/lib/scope-templates/backlog-tech-debt.md +3 -1
  419. package/dist/lib/scope-templates/bug-fix.md +3 -1
  420. package/dist/lib/scope-templates/capability-delta.md +60 -0
  421. package/dist/lib/scope-templates/mission-placeholder.md +9 -40
  422. package/dist/lib/scope-templates/mission-progress.md +5 -6
  423. package/dist/lib/scope-templates/mission-release.md +9 -40
  424. package/dist/lib/scope-templates/notes.md +14 -0
  425. package/dist/lib/scope-templates/placeholder.md +3 -1
  426. package/dist/lib/scope-templates/proof.md +1 -1
  427. package/dist/lib/scope-templates/release-feature.md +3 -1
  428. package/dist/lib/scope-templates/research.md +3 -1
  429. package/dist/lib/scope-templates/slice-progress.md +4 -5
  430. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts +15 -0
  431. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  432. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +57 -0
  433. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  434. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  435. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
  436. package/node_modules/@openrig/daemon/dist/db/all-migrations.js +4 -0
  437. package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
  438. package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.d.ts +3 -0
  439. package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.d.ts.map +1 -0
  440. package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.js +22 -0
  441. package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.js.map +1 -0
  442. package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts +3 -0
  443. package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts.map +1 -0
  444. package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.js +21 -0
  445. package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.js.map +1 -0
  446. package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.d.ts +112 -0
  447. package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -0
  448. package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.js +99 -0
  449. package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.js.map +1 -0
  450. package/node_modules/@openrig/daemon/dist/domain/bind-plan.d.ts +19 -0
  451. package/node_modules/@openrig/daemon/dist/domain/bind-plan.d.ts.map +1 -0
  452. package/node_modules/@openrig/daemon/dist/domain/bind-plan.js +25 -0
  453. package/node_modules/@openrig/daemon/dist/domain/bind-plan.js.map +1 -0
  454. package/node_modules/@openrig/daemon/dist/domain/event-bus.d.ts +6 -0
  455. package/node_modules/@openrig/daemon/dist/domain/event-bus.d.ts.map +1 -1
  456. package/node_modules/@openrig/daemon/dist/domain/event-bus.js +15 -5
  457. package/node_modules/@openrig/daemon/dist/domain/event-bus.js.map +1 -1
  458. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.d.ts.map +1 -1
  459. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.js +9 -0
  460. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.js.map +1 -1
  461. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.d.ts.map +1 -1
  462. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.js +9 -0
  463. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.js.map +1 -1
  464. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts +80 -0
  465. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -0
  466. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +149 -0
  467. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -0
  468. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +109 -0
  469. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  470. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +250 -0
  471. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  472. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts +44 -0
  473. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -0
  474. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js +62 -0
  475. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js.map +1 -0
  476. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.d.ts +8 -0
  477. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.d.ts.map +1 -0
  478. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.js +20 -0
  479. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.js.map +1 -0
  480. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +113 -0
  481. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -0
  482. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +146 -0
  483. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +1 -0
  484. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts +80 -0
  485. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -0
  486. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js +164 -0
  487. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js.map +1 -0
  488. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +54 -0
  489. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -0
  490. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js +96 -0
  491. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -0
  492. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +53 -0
  493. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -0
  494. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +72 -0
  495. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -0
  496. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.d.ts +21 -0
  497. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.d.ts.map +1 -0
  498. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.js +73 -0
  499. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.js.map +1 -0
  500. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts +106 -0
  501. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -0
  502. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js +198 -0
  503. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -0
  504. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +47 -0
  505. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -0
  506. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js +147 -0
  507. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -0
  508. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +21 -0
  509. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -0
  510. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +198 -0
  511. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -0
  512. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +30 -0
  513. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -0
  514. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js +99 -0
  515. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -0
  516. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts +62 -0
  517. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -0
  518. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js +132 -0
  519. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js.map +1 -0
  520. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts +17 -0
  521. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -0
  522. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js +35 -0
  523. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -0
  524. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +56 -0
  525. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -0
  526. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js +103 -0
  527. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -0
  528. package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.d.ts.map +1 -1
  529. package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.js +9 -0
  530. package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.js.map +1 -1
  531. package/node_modules/@openrig/daemon/dist/domain/gateway/transport.d.ts.map +1 -1
  532. package/node_modules/@openrig/daemon/dist/domain/gateway/transport.js +9 -0
  533. package/node_modules/@openrig/daemon/dist/domain/gateway/transport.js.map +1 -1
  534. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  535. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +20 -0
  536. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
  537. package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts +81 -0
  538. package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts.map +1 -0
  539. package/node_modules/@openrig/daemon/dist/domain/parked-query.js +126 -0
  540. package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +1 -0
  541. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts +38 -0
  542. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts.map +1 -0
  543. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js +67 -0
  544. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js.map +1 -0
  545. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +38 -10
  546. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  547. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +267 -35
  548. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
  549. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts +77 -0
  550. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -0
  551. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +348 -0
  552. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -0
  553. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts +96 -0
  554. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -0
  555. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js +533 -0
  556. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js.map +1 -0
  557. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +37 -0
  558. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -0
  559. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +80 -0
  560. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -0
  561. package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.d.ts +28 -0
  562. package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.d.ts.map +1 -0
  563. package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.js +71 -0
  564. package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.js.map +1 -0
  565. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +3 -1
  566. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +1 -1
  567. package/node_modules/@openrig/daemon/dist/domain/review/compose.js +14 -8
  568. package/node_modules/@openrig/daemon/dist/domain/review/compose.js.map +1 -1
  569. package/node_modules/@openrig/daemon/dist/domain/review/gather.d.ts.map +1 -1
  570. package/node_modules/@openrig/daemon/dist/domain/review/gather.js +3 -1
  571. package/node_modules/@openrig/daemon/dist/domain/review/gather.js.map +1 -1
  572. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +3 -0
  573. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  574. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +18 -0
  575. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  576. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +6 -5
  577. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  578. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +23 -20
  579. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  580. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts +4 -5
  581. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
  582. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js +6 -7
  583. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
  584. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts +1 -1
  585. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  586. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js +5 -4
  587. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  588. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts +42 -3
  589. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  590. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js +78 -93
  591. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  592. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  593. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js +7 -2
  594. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  595. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts +91 -0
  596. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  597. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js +416 -1
  598. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js.map +1 -1
  599. package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.d.ts +14 -0
  600. package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.d.ts.map +1 -1
  601. package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.js +14 -1
  602. package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.js.map +1 -1
  603. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +54 -1
  604. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  605. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +162 -19
  606. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +1 -1
  607. package/node_modules/@openrig/daemon/dist/domain/session-transport.js +1 -2
  608. package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
  609. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts +6 -1
  610. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  611. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js +3 -3
  612. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  613. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +33 -0
  614. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  615. package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
  616. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  617. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  618. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +48 -0
  619. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  620. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts +1 -1
  621. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +1 -1
  622. package/node_modules/@openrig/daemon/dist/domain/view-projector.js +41 -2
  623. package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
  624. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -0
  625. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  626. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +3 -0
  627. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  628. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +4 -3
  629. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  630. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js +56 -196
  631. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  632. package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.js +1 -1
  633. package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.js.map +1 -1
  634. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts +8 -11
  635. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  636. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +23 -25
  637. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  638. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts +4 -0
  639. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts.map +1 -0
  640. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js +8 -0
  641. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js.map +1 -0
  642. package/node_modules/@openrig/daemon/dist/index.d.ts +29 -0
  643. package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
  644. package/node_modules/@openrig/daemon/dist/index.js +99 -4
  645. package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
  646. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts +1 -1
  647. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
  648. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js +8 -14
  649. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js.map +1 -1
  650. package/node_modules/@openrig/daemon/dist/routes/activity.d.ts +13 -0
  651. package/node_modules/@openrig/daemon/dist/routes/activity.d.ts.map +1 -1
  652. package/node_modules/@openrig/daemon/dist/routes/activity.js +186 -0
  653. package/node_modules/@openrig/daemon/dist/routes/activity.js.map +1 -1
  654. package/node_modules/@openrig/daemon/dist/routes/config.js +2 -2
  655. package/node_modules/@openrig/daemon/dist/routes/config.js.map +1 -1
  656. package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts +3 -0
  657. package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts.map +1 -0
  658. package/node_modules/@openrig/daemon/dist/routes/gateway.js +46 -0
  659. package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +1 -0
  660. package/node_modules/@openrig/daemon/dist/routes/health-summary.d.ts.map +1 -1
  661. package/node_modules/@openrig/daemon/dist/routes/health-summary.js +8 -0
  662. package/node_modules/@openrig/daemon/dist/routes/health-summary.js.map +1 -1
  663. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
  664. package/node_modules/@openrig/daemon/dist/routes/queue.js +3 -1
  665. package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
  666. package/node_modules/@openrig/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  667. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js +72 -13
  668. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js.map +1 -1
  669. package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
  670. package/node_modules/@openrig/daemon/dist/routes/seat.js +15 -0
  671. package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
  672. package/node_modules/@openrig/daemon/dist/server.d.ts +17 -0
  673. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  674. package/node_modules/@openrig/daemon/dist/server.js +25 -4
  675. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  676. package/node_modules/@openrig/daemon/dist/startup.d.ts +4 -0
  677. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  678. package/node_modules/@openrig/daemon/dist/startup.js +33 -0
  679. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  680. package/node_modules/@openrig/daemon/package.json +5 -1
  681. package/package.json +1 -1
  682. package/tui/dist/daemon-client.d.ts +5 -0
  683. package/tui/dist/daemon-client.d.ts.map +1 -1
  684. package/tui/dist/daemon-client.js +17 -0
  685. package/tui/dist/daemon-client.js.map +1 -1
  686. package/tui/dist/hydrate.d.ts.map +1 -1
  687. package/tui/dist/hydrate.js +12 -4
  688. package/tui/dist/hydrate.js.map +1 -1
  689. package/tui/dist/live-events.d.ts +21 -0
  690. package/tui/dist/live-events.d.ts.map +1 -0
  691. package/tui/dist/live-events.js +88 -0
  692. package/tui/dist/live-events.js.map +1 -0
  693. package/tui/dist/live.js +1 -1
  694. package/tui/dist/main.js +27 -8
  695. package/tui/dist/main.js.map +1 -1
  696. package/tui/dist/refresh.d.ts +10 -1
  697. package/tui/dist/refresh.d.ts.map +1 -1
  698. package/tui/dist/refresh.js +22 -2
  699. package/tui/dist/refresh.js.map +1 -1
  700. package/daemon/context-packs/world/install/01-world-from-primitives.md +0 -97
  701. package/daemon/context-packs/world/install/02-permission-self-sleep.md +0 -141
  702. package/daemon/context-packs/world/install/03-what-this-is-for.md +0 -86
  703. package/daemon/context-packs/world/install/04-ontology.md +0 -790
  704. package/daemon/context-packs/world/install/05-harness-power-use.md +0 -355
  705. package/daemon/context-packs/world/install/06-a-competent-turn.md +0 -225
  706. package/daemon/context-packs/world/install/manifest.yaml +0 -125
  707. package/dist/lib/scope-templates/mission-brief.md +0 -20
  708. package/dist/lib/scope-templates/mission-notes.md +0 -102
  709. package/dist/slack/config.d.ts.map +0 -1
  710. package/dist/slack/config.js.map +0 -1
  711. package/dist/slack/connector-server.d.ts +0 -31
  712. package/dist/slack/connector-server.d.ts.map +0 -1
  713. package/dist/slack/connector-server.js +0 -108
  714. package/dist/slack/connector-server.js.map +0 -1
  715. package/dist/slack/inbound-admission.d.ts.map +0 -1
  716. package/dist/slack/inbound-admission.js.map +0 -1
  717. package/dist/slack/inbound.d.ts.map +0 -1
  718. package/dist/slack/inbound.js.map +0 -1
  719. package/dist/slack/message.d.ts +0 -39
  720. package/dist/slack/message.d.ts.map +0 -1
  721. package/dist/slack/message.js +0 -88
  722. package/dist/slack/message.js.map +0 -1
  723. package/dist/slack/outbound.d.ts +0 -39
  724. package/dist/slack/outbound.d.ts.map +0 -1
  725. package/dist/slack/outbound.js +0 -63
  726. package/dist/slack/outbound.js.map +0 -1
  727. package/dist/slack/queue-bridge.d.ts +0 -61
  728. package/dist/slack/queue-bridge.d.ts.map +0 -1
  729. package/dist/slack/queue-bridge.js +0 -114
  730. package/dist/slack/queue-bridge.js.map +0 -1
  731. package/dist/slack/secrets.d.ts.map +0 -1
  732. package/dist/slack/secrets.js.map +0 -1
  733. package/dist/slack/slack-api.d.ts +0 -49
  734. package/dist/slack/slack-api.d.ts.map +0 -1
  735. package/dist/slack/slack-api.js +0 -110
  736. package/dist/slack/slack-api.js.map +0 -1
  737. package/dist/slack/slack-delivery.d.ts +0 -14
  738. package/dist/slack/slack-delivery.d.ts.map +0 -1
  739. package/dist/slack/slack-delivery.js +0 -28
  740. package/dist/slack/slack-delivery.js.map +0 -1
  741. package/dist/slack/state-store.d.ts.map +0 -1
  742. package/dist/slack/state-store.js.map +0 -1
  743. /package/{dist → daemon/dist/domain/gateway}/slack/inbound-admission.js +0 -0
  744. /package/{dist → daemon/dist/domain/gateway}/slack/secrets.d.ts +0 -0
  745. /package/{dist → daemon/dist/domain/gateway}/slack/secrets.js +0 -0
  746. /package/{dist → daemon/dist/domain/gateway}/slack/state-store.d.ts +0 -0
  747. /package/{dist → daemon/dist/domain/gateway}/slack/state-store.js +0 -0
@@ -1,20 +1,20 @@
1
1
  // OPR.0.4.7 slice-04 Stage-3 Lever A — plan-lock snapshot derivation.
2
2
  //
3
- // PURE derivation of a slice's `locked-artifacts` plan set from its README +
4
- // IMPLEMENTATION-PRD content strings — NO fs here; the scope-approve read shell
5
- // supplies both (readme = the approve originalBytes, prd = tryReadPRD or null).
3
+ // PURE derivation of a slice's `locked-artifacts` plan set from its current
4
+ // authored node plus legacy fallback content — NO fs here.
6
5
  // Reuses the EXPORTED Review helpers directly (D1 — no shared extraction) so the
7
6
  // derived plan has source-selection/extraction parity with Review (no byte-equality
8
- // claim). Determinism: stable order (PRD -> selected proof-contract plannedRefs ->
7
+ // claim). Determinism: stable order (authored node -> selected proof-contract plannedRefs ->
9
8
  // intent visuals), normalized-path dedup, first source wins.
10
9
  import { extractProofContractSelected, extractSection, extractMediaRefs, sliceRelativeMediaPath, } from "../review/compose.js";
11
10
  import { isScaffoldPlaceholderText } from "./scaffold-placeholder.js";
12
11
  /**
13
12
  * Derive the ordered, deduped `locked-artifacts` set for a slice plan-lock.
14
- * @param readme slice README content (the approve read shell's originalBytes); null if absent.
15
- * @param prd slice IMPLEMENTATION-PRD content; null when missing/unreadable (fail-open).
13
+ * @param nodeContent current authored node content (SPEC.md, or legacy README.md).
14
+ * @param prd legacy IMPLEMENTATION-PRD content; null when absent.
15
+ * @param nodeFileName current node filename; SPEC.md for new work.
16
16
  */
17
- export function derivePlanLockArtifacts(readme, prd, spec = null) {
17
+ export function derivePlanLockArtifacts(nodeContent, prd, nodeFileName = "SPEC.md") {
18
18
  const out = [];
19
19
  const seen = new Set(); // dedup by NORMALIZED path; first source wins
20
20
  // Slice-relative + posix-normalize: reject absolute `/…` and `../`-escape, and
@@ -35,19 +35,22 @@ export function derivePlanLockArtifacts(readme, prd, spec = null) {
35
35
  seen.add(norm);
36
36
  out.push({ name: nameFromPath ? norm : name, path: norm, kind });
37
37
  };
38
- // 1. PRD always pinned first: the EXPECTED spec path, even when the PRD file
39
- // is missing/unreadable (Guard #4). A missing PRD simply adds no plannedRefs.
40
- add("Implementation PRD", "IMPLEMENTATION-PRD.md", "spec");
41
- // 2. Selected proof-contract plannedRefs — an authored README section wins over
42
- // a pristine-scaffold PRD section (extractProofContractSelected, README-wins).
43
- for (const item of extractProofContractSelected(prd, readme, spec).items) {
38
+ // 1. The one authored node is always the first pin. New work is SPEC.md;
39
+ // legacy README-backed nodes remain approvable without a forced migration.
40
+ add(nodeFileName === "SPEC.md" ? "Specification" : "Legacy specification", nodeFileName, "spec");
41
+ // 2. Selected proof-contract plannedRefs — for a legacy node, an authored README
42
+ // section wins over a pristine-scaffold PRD section.
43
+ const selected = nodeFileName === "SPEC.md"
44
+ ? extractProofContractSelected(prd, null, nodeContent)
45
+ : extractProofContractSelected(prd, nodeContent, null);
46
+ for (const item of selected.items) {
44
47
  if (!item.plannedRef)
45
48
  continue;
46
49
  add(item.text || item.plannedRef, item.plannedRef, "mockup"); // name = item text, path fallback
47
50
  }
48
- // 3. Intent visuals — README `## Intent visual` media refs, UNLESS the section
51
+ // 3. Intent visuals — authored-node `## Intent visual` media refs, UNLESS the section
49
52
  // is N/A (the section-suppression semantics the scope audit uses).
50
- const visual = extractSection(readme, "Intent visual");
53
+ const visual = extractSection(nodeContent, "Intent visual");
51
54
  if (visual !== null && !/\bN\/A\b/i.test(visual)) {
52
55
  for (const ref of extractMediaRefs(visual)) {
53
56
  add(ref, ref, "mockup", true); // deterministic name = the emitted (normalized) path (D4)
@@ -57,7 +60,7 @@ export function derivePlanLockArtifacts(readme, prd, spec = null) {
57
60
  }
58
61
  /**
59
62
  * True when a DERIVED plan-lock set would freeze nothing anybody authored: the set is only the
60
- * unconditional PRD pin, and the PRD file is missing or still shipped-template scaffold (no authored
63
+ * unconditional node pin, and the node file is missing or still shipped-template scaffold (no authored
61
64
  * intent prose, no authored mini-req, no authored proof-contract row — the ONE scaffold grammar).
62
65
  *
63
66
  * A plan-lock's entire meaning is "THIS artifact set is what gets built"; letting the default pin a
@@ -65,12 +68,12 @@ export function derivePlanLockArtifacts(readme, prd, spec = null) {
65
68
  * locks did exactly that before this check existed. Approve refuses on this predicate unless the
66
69
  * stamper names the set explicitly.
67
70
  */
68
- export function isContentlessPlanLockSet(prd, artifacts) {
71
+ export function isContentlessPlanLockSet(nodeContent, artifacts) {
69
72
  if (artifacts.length > 1)
70
73
  return false; // plannedRefs / intent visuals = chosen content beyond the pin
71
- if (prd === null)
72
- return true; // the pin names a file that does not exist / cannot be read
73
- return !prdHasAuthoredContent(prd);
74
+ if (nodeContent === null)
75
+ return true;
76
+ return !prdHasAuthoredContent(nodeContent);
74
77
  }
75
78
  /** Any line that survives stripping frontmatter, HTML comments, headings, and list/checkbox markers,
76
79
  * and is not the shipped bracket-placeholder grammar, is authored content — free-prose PRDs count,
@@ -1 +1 @@
1
- {"version":3,"file":"plan-lock-artifacts.js","sourceRoot":"","sources":["../../../src/domain/scope/plan-lock-artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-lock-artifacts.js","sourceRoot":"","sources":["../../../src/domain/scope/plan-lock-artifacts.ts"],"names":[],"mappings":"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"}
@@ -42,11 +42,10 @@ export declare const GENERIC_SCAFFOLD_ACCEPTANCE: readonly string[];
42
42
  * while compose/audit fell back to README with no SPEC path — evidence
43
43
  * recorded against one contract, displayed against another. Selection order
44
44
  * over SECTION BODIES (each reader keeps its own extractor):
45
- * authored PRD -> "prd" (canonical, the first-face ruling)
46
- * pristine PRD -> authored SPEC -> "spec"
47
- * -> else authored README -> "readme"
48
- * -> else null (nothing authored; never the placeholder)
49
- * absent PRD -> authored SPEC -> authored README -> null
45
+ * authored SPEC -> "spec" (the one current contract)
46
+ * absent/pristine SPEC -> authored PRD -> "prd" (legacy fallback)
47
+ * -> authored README -> "readme" (older fallback)
48
+ * -> null
50
49
  * "Authored" = present and NOT isPristineScaffoldSection. Consumers parse
51
50
  * items from the SELECTED source's body with their shipped parsers. */
52
51
  export declare function selectProofContractBody(args: {
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold-placeholder.d.ts","sourceRoot":"","sources":["../../../src/domain/scope/scaffold-placeholder.ts"],"names":[],"mappings":"AAuBA;+EAC+E;AAC/E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;;;;0CAQ0C;AAC1C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAOpE;AAED;;;;;;oCAMoC;AACpC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAQpE;AAED;;;;;;;;;6DAS6D;AAC7D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAWtE;AAED;;;4EAG4E;AAC5E,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIxD,CAAC;AAEF;;;;;;;;;;;;;wEAawE;AACxE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG;IAAE,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAMpE"}
1
+ {"version":3,"file":"scaffold-placeholder.d.ts","sourceRoot":"","sources":["../../../src/domain/scope/scaffold-placeholder.ts"],"names":[],"mappings":"AAuBA;+EAC+E;AAC/E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;;;;0CAQ0C;AAC1C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAOpE;AAED;;;;;;oCAMoC;AACpC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAQpE;AAED;;;;;;;;;6DAS6D;AAC7D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAWtE;AAED;;;4EAG4E;AAC5E,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIxD,CAAC;AAEF;;;;;;;;;;;;wEAYwE;AACxE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG;IAAE,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAMpE"}
@@ -102,19 +102,18 @@ export const GENERIC_SCAFFOLD_ACCEPTANCE = [
102
102
  * while compose/audit fell back to README with no SPEC path — evidence
103
103
  * recorded against one contract, displayed against another. Selection order
104
104
  * over SECTION BODIES (each reader keeps its own extractor):
105
- * authored PRD -> "prd" (canonical, the first-face ruling)
106
- * pristine PRD -> authored SPEC -> "spec"
107
- * -> else authored README -> "readme"
108
- * -> else null (nothing authored; never the placeholder)
109
- * absent PRD -> authored SPEC -> authored README -> null
105
+ * authored SPEC -> "spec" (the one current contract)
106
+ * absent/pristine SPEC -> authored PRD -> "prd" (legacy fallback)
107
+ * -> authored README -> "readme" (older fallback)
108
+ * -> null
110
109
  * "Authored" = present and NOT isPristineScaffoldSection. Consumers parse
111
110
  * items from the SELECTED source's body with their shipped parsers. */
112
111
  export function selectProofContractBody(args) {
113
112
  const authored = (b) => b !== null && !isPristineScaffoldSection(b);
114
- if (authored(args.prdBody))
115
- return { source: "prd", body: args.prdBody };
116
113
  if (authored(args.specBody))
117
114
  return { source: "spec", body: args.specBody };
115
+ if (authored(args.prdBody))
116
+ return { source: "prd", body: args.prdBody };
118
117
  if (authored(args.readmeBody))
119
118
  return { source: "readme", body: args.readmeBody };
120
119
  return { source: null, body: null };
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold-placeholder.js","sourceRoot":"","sources":["../../../src/domain/scope/scaffold-placeholder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold-placeholder.js","sourceRoot":"","sources":["../../../src/domain/scope/scaffold-placeholder.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export interface ScopeApproveInput {
6
6
  /** Canonical missions-root-relative path (e.g.
7
7
  * "release-0.4.4/slices/19-living-notes-signal-layer" or "release-0.4.4"). */
8
8
  scopePath: string;
9
- /** STAGED APPROVAL (founder un-deferred): `spec` = "the PRD matches my
9
+ /** STAGED APPROVAL (founder un-deferred): `spec` = "the SPEC matches my
10
10
  * intent" (the first accept-point); `delivery` = the terminal sign-off
11
11
  * (the freeze trigger). Omitted upstream ⇒ delivery (back-compat). */
12
12
  approvalScope: ApprovalScope;
@@ -1 +1 @@
1
- {"version":3,"file":"scope-approve.d.ts","sourceRoot":"","sources":["../../../src/domain/scope/scope-approve.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAKhG,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAC5C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB;mFAC+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB;;2EAEuE;IACvE,aAAa,EAAE,aAAa,CAAC;IAC7B;uBACmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB;;+FAE2F;IAC3F,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;6EACyE;IACzE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;8BAI0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;qFAEiF;IACjF,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB;;+EAE2E;IAC3E,WAAW,EAAE,KAAK,CAAC;IACnB,yEAAyE;IACzE,UAAU,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKpD;AAED;;;4EAG4E;AAC5E,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtE,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,aAAa,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAOD,UAAU,gBAAgB;IACxB;2CACuC;IACvC,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,uBAAuB,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;gBAE5B,IAAI,EAAE,gBAAgB;IAIlC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;CA6MtD"}
1
+ {"version":3,"file":"scope-approve.d.ts","sourceRoot":"","sources":["../../../src/domain/scope/scope-approve.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAKhG,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAC5C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB;mFAC+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB;;2EAEuE;IACvE,aAAa,EAAE,aAAa,CAAC;IAC7B;uBACmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB;;+FAE2F;IAC3F,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;6EACyE;IACzE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;8BAI0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;qFAEiF;IACjF,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB;;+EAE2E;IAC3E,WAAW,EAAE,KAAK,CAAC;IACnB,yEAAyE;IACzE,UAAU,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKpD;AAED;;;4EAG4E;AAC5E,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtE,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,aAAa,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAOD,UAAU,gBAAgB;IACxB;2CACuC;IACvC,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,uBAAuB,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;gBAE5B,IAAI,EAAE,gBAAgB;IAIlC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;CA8MtD"}
@@ -111,11 +111,12 @@ export class ScopeApproveService {
111
111
  }
112
112
  else {
113
113
  const prd = tryReadPRD(resolved);
114
- lockedArtifacts = derivePlanLockArtifacts(originalBytes, prd);
115
- if (isContentlessPlanLockSet(prd, lockedArtifacts)) {
116
- throw new ScopeApproveError("plan_lock_contentless", `${input.scopePath}: the derived locked-artifacts set is only the default IMPLEMENTATION-PRD.md pin, and that file is ${prd === null ? "missing" : "still unfilled scaffold"} — the lock would freeze content nobody chose.`, {
114
+ const nodeFileName = path.basename(readmePath) === "SPEC.md" ? "SPEC.md" : "README.md";
115
+ lockedArtifacts = derivePlanLockArtifacts(originalBytes, prd, nodeFileName);
116
+ if (isContentlessPlanLockSet(originalBytes, lockedArtifacts)) {
117
+ throw new ScopeApproveError("plan_lock_contentless", `${input.scopePath}: the derived locked-artifacts set contains only a contentless ${nodeFileName} — the lock would freeze content nobody chose.`, {
117
118
  scopePath: input.scopePath,
118
- action: "Author the PRD (or its README sections) so the plan carries real content, or name the real set explicitly: rig scope slice approve <slice> --scope spec --locked-artifacts \"SPEC.md,PLAN-….md\".",
119
+ action: "Author SPEC.md so the plan carries real content, or name the real set explicitly: rig scope slice approve <slice> --scope spec --locked-artifacts \"SPEC.md,PLAN-….md\".",
119
120
  });
120
121
  }
121
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope-approve.js","sourceRoot":"","sources":["../../../src/domain/scope/scope-approve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-approve.js","sourceRoot":"","sources":["../../../src/domain/scope/scope-approve.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export type RailStatus = "present" | "missing" | "malformed" | "readme-only";
2
2
  export type FindingSeverity = "high" | "medium" | "low" | "info";
3
- export type FindingKind = "missing_progress" | "registration_ghost" | "missing_id" | "id_convention_violation" | "orphan_progress" | "missing_mission_brief" | "malformed_mission_brief" | "missing_mission_notes" | "missing_proof" | "progress_not_updated_on_commit" | "proof_artifact_c1_invalid" | "missing_impl_prd" | "missing_intent_section" | "mini_requirements_missing_or_malformed" | "proof_contract_missing_or_malformed" | "ui_slice_missing_mockup" | "shadowed_node_file";
3
+ export type FindingKind = "missing_progress" | "registration_ghost" | "missing_id" | "id_convention_violation" | "orphan_progress" | "missing_mission_brief" | "malformed_mission_brief" | "missing_mission_notes" | "missing_proof" | "proof_artifact_c1_invalid" | "missing_impl_prd" | "missing_intent_section" | "mini_requirements_missing_or_malformed" | "proof_contract_missing_or_malformed" | "ui_slice_missing_mockup" | "shadowed_node_file";
4
4
  export interface AuditFinding {
5
5
  kind: FindingKind;
6
6
  severity: FindingSeverity;
@@ -28,13 +28,12 @@ export interface ScopeAuditInput {
28
28
  proofDirHasEntries?: boolean;
29
29
  hasProofPacket?: boolean;
30
30
  sliceStatus?: string | null;
31
- sliceTouchedByRecentCommit?: boolean;
32
- progressTouchedByRecentCommit?: boolean;
33
31
  proofArtifacts?: Array<{
34
32
  path: string;
35
33
  frontmatterRaw: string | null;
36
34
  }>;
37
35
  implementationPrdExists?: boolean;
36
+ nodeFileName?: "SPEC.md" | "README.md";
38
37
  readmeContent?: string | null;
39
38
  implementationPrdContent?: string | null;
40
39
  }
@@ -43,6 +42,46 @@ export interface ScopeAuditResult {
43
42
  findings: AuditFinding[];
44
43
  frontmatterError: string | null;
45
44
  }
45
+ export interface MissionDependencyGraph {
46
+ mission: {
47
+ id: string | null;
48
+ name: string;
49
+ dependsOn: string[];
50
+ };
51
+ nodes: Array<{
52
+ id: string;
53
+ name: string;
54
+ dependsOn: string[];
55
+ }>;
56
+ ready: string[];
57
+ waiting: Array<{
58
+ id: string;
59
+ on: string[];
60
+ }>;
61
+ advisories: Array<{
62
+ id: string;
63
+ dependency?: string;
64
+ kind: "invalid_field" | "invalid_dependency" | "outside_parent" | "missing_sibling" | "missing_id";
65
+ message: string;
66
+ }>;
67
+ }
68
+ export interface MissionDependencyGraphInput {
69
+ mission: {
70
+ id: string | null;
71
+ name: string;
72
+ dependsOn: unknown;
73
+ };
74
+ slices: Array<{
75
+ id: string | null;
76
+ name: string;
77
+ dependsOn: unknown;
78
+ active: boolean;
79
+ }>;
80
+ }
81
+ /** Pure advisory graph derivation shared by mission graph and both audit surfaces.
82
+ * Unknown, stale, malformed, and cross-parent edges are reported and ignored:
83
+ * dependency data can steer build order but never gate execution. */
84
+ export declare function deriveMissionDependencyGraph(input: MissionDependencyGraphInput): MissionDependencyGraph;
46
85
  export declare const MISSION_BRIEF_HEADERS: string[];
47
86
  export declare function classifyScopeItem(input: ScopeAuditInput): ScopeAuditResult;
48
87
  //# sourceMappingURL=scope-audit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope-audit.d.ts","sourceRoot":"","sources":["../../../src/domain/scope/scope-audit.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,YAAY,GACZ,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,eAAe,GACf,gCAAgC,GAGhC,2BAA2B,GAC3B,kBAAkB,GAIlB,wBAAwB,GACxB,wCAAwC,GACxC,qCAAqC,GACrC,yBAAyB,GAIzB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ5B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAMxC,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAGxE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAKlC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAMD,eAAO,MAAM,qBAAqB,UAA4E,CAAC;AA2H/G,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CA4T1E"}
1
+ {"version":3,"file":"scope-audit.d.ts","sourceRoot":"","sources":["../../../src/domain/scope/scope-audit.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,59 @@
1
1
  import * as YAML from "yaml";
2
2
  import { isMissionDotId, isSliceDotId } from "./dot-id.js";
3
3
  import { isScaffoldPlaceholderText, hasAuthoredNumberedItem, isPristineScaffoldSection } from "./scaffold-placeholder.js";
4
+ /** Pure advisory graph derivation shared by mission graph and both audit surfaces.
5
+ * Unknown, stale, malformed, and cross-parent edges are reported and ignored:
6
+ * dependency data can steer build order but never gate execution. */
7
+ export function deriveMissionDependencyGraph(input) {
8
+ const active = input.slices.filter((slice) => slice.active);
9
+ const allIds = new Set(input.slices.flatMap((slice) => slice.id ? [slice.id] : []));
10
+ const activeIds = new Set(active.flatMap((slice) => slice.id ? [slice.id] : []));
11
+ const advisories = [];
12
+ const nodes = [];
13
+ const ready = [];
14
+ const waiting = [];
15
+ for (const slice of active) {
16
+ if (!slice.id) {
17
+ advisories.push({ id: slice.name, kind: "missing_id", message: "Slice has no dot-ID; it cannot participate in the dependency graph." });
18
+ continue;
19
+ }
20
+ const dependencies = [];
21
+ if (slice.dependsOn !== undefined && !Array.isArray(slice.dependsOn)) {
22
+ advisories.push({ id: slice.id, kind: "invalid_field", message: "depends_on must be a list of sibling dot-IDs; the value was ignored." });
23
+ }
24
+ for (const value of Array.isArray(slice.dependsOn) ? slice.dependsOn : []) {
25
+ if (typeof value !== "string" || !isSliceDotId(value)) {
26
+ advisories.push({ id: slice.id, dependency: String(value), kind: "invalid_dependency", message: "Dependency is not a slice dot-ID and was ignored." });
27
+ continue;
28
+ }
29
+ if (input.mission.id && !value.startsWith(`${input.mission.id}.`)) {
30
+ advisories.push({ id: slice.id, dependency: value, kind: "outside_parent", message: "Dependency is outside this mission and was ignored." });
31
+ continue;
32
+ }
33
+ if (!allIds.has(value)) {
34
+ advisories.push({ id: slice.id, dependency: value, kind: "missing_sibling", message: "Dependency does not resolve to a sibling and was ignored." });
35
+ continue;
36
+ }
37
+ dependencies.push(value);
38
+ }
39
+ nodes.push({ id: slice.id, name: slice.name, dependsOn: dependencies });
40
+ const unmet = dependencies.filter((dependency) => activeIds.has(dependency));
41
+ if (unmet.length === 0)
42
+ ready.push(slice.id);
43
+ else
44
+ waiting.push({ id: slice.id, on: unmet });
45
+ }
46
+ const missionDependsOn = Array.isArray(input.mission.dependsOn)
47
+ ? input.mission.dependsOn.filter((value) => typeof value === "string")
48
+ : [];
49
+ return {
50
+ mission: { id: input.mission.id, name: input.mission.name, dependsOn: missionDependsOn },
51
+ nodes,
52
+ ready,
53
+ waiting,
54
+ advisories,
55
+ };
56
+ }
4
57
  // OPR.0.4.4.20 FR-8: exported so the review brief-spine writer conforms to
5
58
  // the SAME pinned exact-order schema this audit enforces (parity by
6
59
  // construction — the generated output can never trip malformed_mission_brief
@@ -9,21 +62,6 @@ export const MISSION_BRIEF_HEADERS = ["What & why", "Building", "Progress", "Pro
9
62
  function childPath(parent, child) {
10
63
  return parent.endsWith("/") ? `${parent}${child}` : `${parent}/${child}`;
11
64
  }
12
- function missionBriefFix() {
13
- return "Create/populate MISSION_BRIEF.md using the slice-16 schema: # <Mission name> — Brief, then ## What & why, ## Building, ## Progress, ## Proven, ## Needs you, ## Pointers.";
14
- }
15
- function missionBriefConforms(content) {
16
- const lines = content.split(/\r?\n/);
17
- const title = lines.find((line) => /^#\s+/.test(line) && !/^##\s+/.test(line))?.trim() ?? "";
18
- if (!/^#\s+.+\s+—\s+Brief\s*$/.test(title))
19
- return false;
20
- const h2s = lines
21
- .map((line) => /^##\s+(.+?)\s*$/.exec(line)?.[1]?.trim() ?? null)
22
- .filter((header) => header !== null);
23
- if (h2s.length < MISSION_BRIEF_HEADERS.length)
24
- return false;
25
- return MISSION_BRIEF_HEADERS.every((header, idx) => h2s[idx] === header);
26
- }
27
65
  function parseStatusFromFrontmatter(raw) {
28
66
  if (raw === null)
29
67
  return null;
@@ -49,21 +87,6 @@ function statusRequiresProof(status) {
49
87
  || normalized.includes("proven")
50
88
  || normalized.includes("promoted");
51
89
  }
52
- // OPR.0.4.4.19 FR-10 (C7) — the statusRequiresProof pattern applied one
53
- // phase earlier: a slice whose status implies SPECCED/BUILDING (or later)
54
- // must carry IMPLEMENTATION-PRD.md at its root ("no build without a
55
- // specifying doc"). Shaping / pre-spec statuses are NOT violations.
56
- function statusRequiresSpec(status) {
57
- if (!status)
58
- return false;
59
- const normalized = status.toLowerCase().trim();
60
- return normalized.includes("build")
61
- || normalized.includes("implement")
62
- || normalized.includes("in-progress")
63
- || normalized.includes("review")
64
- || normalized.includes("qa")
65
- || statusRequiresProof(normalized);
66
- }
67
90
  // OPR.0.4.4.19 FR-10 (C1) — the ratified closed sets (BR-4; source of truth
68
91
  // for the drop path lives in the CLI proof command; this mirrored file
69
92
  // carries its own copy because both scope-audit copies must stay
@@ -129,6 +152,7 @@ function missionIsActive(status) {
129
152
  export function classifyScopeItem(input) {
130
153
  const findings = [];
131
154
  let frontmatterError = null;
155
+ let parsedFrontmatter = {};
132
156
  let railStatus;
133
157
  // Rail status
134
158
  if (input.readmeOnlyMarker) {
@@ -193,6 +217,7 @@ export function classifyScopeItem(input) {
193
217
  const fm = parsed && typeof parsed === "object" && !Array.isArray(parsed)
194
218
  ? parsed
195
219
  : {};
220
+ parsedFrontmatter = fm;
196
221
  const id = typeof fm.id === "string" ? fm.id : null;
197
222
  if (!id) {
198
223
  findings.push({
@@ -218,36 +243,15 @@ export function classifyScopeItem(input) {
218
243
  }
219
244
  }
220
245
  if (input.level === "mission") {
221
- const briefPath = input.missionBriefPath ?? childPath(input.path, "MISSION_BRIEF.md");
222
- if (input.missionBriefExists === false) {
223
- findings.push({
224
- kind: "missing_mission_brief",
225
- severity: "medium",
226
- path: briefPath,
227
- message: "Mission has no root MISSION_BRIEF.md, so the Steering tab human-facing brief degrades.",
228
- remediation: missionBriefFix(),
229
- });
230
- }
231
- else if (input.missionBriefExists === true
232
- && typeof input.missionBriefContent === "string"
233
- && !missionBriefConforms(input.missionBriefContent)) {
234
- findings.push({
235
- kind: "malformed_mission_brief",
236
- severity: "medium",
237
- path: briefPath,
238
- message: "MISSION_BRIEF.md does not match the canonical MISSION_BRIEF.md section order.",
239
- remediation: missionBriefFix(),
240
- });
241
- }
242
246
  if (input.missionNotesExists === false
243
247
  && missionIsActive(parseStatusFromFrontmatter(input.readmeFrontmatterRaw))) {
244
- const notesPath = input.missionNotesPath ?? childPath(input.path, "MISSION_NOTES.md");
248
+ const notesPath = input.missionNotesPath ?? childPath(input.path, "NOTES.md");
245
249
  findings.push({
246
250
  kind: "missing_mission_notes",
247
251
  severity: "low",
248
252
  path: notesPath,
249
- message: "Mission has no MISSION_NOTES.md continuity file.",
250
- remediation: "Add MISSION_NOTES.md at the mission root and populate it per the mission-notes convention.",
253
+ message: "Mission has no NOTES.md context file.",
254
+ remediation: "Add NOTES.md at the mission root. Existing MISSION_NOTES.md remains a readable legacy fallback.",
251
255
  });
252
256
  }
253
257
  }
@@ -284,31 +288,25 @@ export function classifyScopeItem(input) {
284
288
  });
285
289
  }
286
290
  }
287
- // OPR.0.4.4.19 FR-10 (C7 backstop) — a specced/building-or-later slice
288
- // must carry IMPLEMENTATION-PRD.md (the pinned expected filename) at its
289
- // root. Status-gated: shaping is not a violation. Inert when the caller
290
- // provided no fs context (implementationPrdExists undefined).
291
- if (input.implementationPrdExists === false && statusRequiresSpec(status)) {
292
- findings.push({
293
- kind: "missing_impl_prd",
294
- severity: "medium",
295
- path: childPath(input.path, "IMPLEMENTATION-PRD.md"),
296
- message: `Slice status "${status}" implies specced/building but there is no IMPLEMENTATION-PRD.md at the slice root (C7: no build without a specifying doc).`,
297
- remediation: "Author (or relocate) the slice's IMPLEMENTATION-PRD.md at the slice root — the pinned C7 filename — before building continues.",
298
- });
299
- }
300
291
  // OPR.0.4.4.23 — SDLC convention-section advisories (SSOT:
301
292
  // docs/reference/sdlc-conventions.md). Structurally fail-open: the
302
293
  // audit command flips its exit code on HIGH findings only, and these
303
294
  // are low/info by construction — they record and advise, never gate.
304
295
  // Inert when the caller provided no content context (undefined inputs).
305
- if (typeof input.readmeContent === "string" && !hasH2(input.readmeContent, "Intent")) {
296
+ const frontmatterIntent = typeof parsedFrontmatter.intent === "string"
297
+ && parsedFrontmatter.intent.trim().length > 0;
298
+ const currentSpec = input.nodeFileName === "SPEC.md"
299
+ || (input.nodeFileName === undefined && frontmatterIntent);
300
+ const nodeFileName = currentSpec ? "SPEC.md" : "README.md";
301
+ if (typeof input.readmeContent === "string" && !frontmatterIntent && !hasH2(input.readmeContent, "Intent")) {
306
302
  findings.push({
307
303
  kind: "missing_intent_section",
308
304
  severity: "low",
309
- path: childPath(input.path, "README.md"),
310
- message: "Slice README has no `## Intent` section, so the Living Notes UI cannot project its INTENT section.",
311
- remediation: "Add `## Intent` carrying the recorded intent verbatim (conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md); `rig scope slice create` scaffolds it).",
305
+ path: childPath(input.path, nodeFileName),
306
+ message: `${nodeFileName} has no frontmatter \`intent:\` or legacy \`## Intent\` section.`,
307
+ remediation: currentSpec
308
+ ? "Add a non-empty `intent:` to SPEC.md frontmatter."
309
+ : "Add a non-empty `intent:` or retain a legacy `## Intent` section in README.md.",
312
310
  });
313
311
  }
314
312
  // PM dogfood #1 (qitem-20260720015700-630eef64) — per-SECTION source
@@ -322,6 +320,9 @@ export function classifyScopeItem(input) {
322
320
  const prdContentStr = typeof input.implementationPrdContent === "string" ? input.implementationPrdContent : null;
323
321
  const readmeContentStr = typeof input.readmeContent === "string" ? input.readmeContent : null;
324
322
  const pickSectionSource = (heading) => {
323
+ if (currentSpec && readmeContentStr !== null) {
324
+ return { body: h2Body(readmeContentStr, heading), path: childPath(input.path, nodeFileName) };
325
+ }
325
326
  if (prdContentStr !== null) {
326
327
  const prdBody = h2Body(prdContentStr, heading);
327
328
  if (isPristineScaffoldSection(prdBody) && readmeContentStr !== null) {
@@ -358,9 +359,9 @@ export function classifyScopeItem(input) {
358
359
  severity: "low",
359
360
  path: miniSource.path,
360
361
  message: miniBody === null
361
- ? "No `## Mini-requirements` section — the Living Notes PLAN section has no concise requirements tier to project."
362
+ ? "No `## Mini-requirements` section — the scope plan has no concise requirements tier."
362
363
  : "`## Mini-requirements` carries no numbered items (`1. …`) — the one-glance requirement tier is where approval starts.",
363
- remediation: "Add `## Mini-requirements` with a numbered list of observable outcomes (conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md); for a small slice this may BE the whole PRD).",
364
+ remediation: `Add \`## Mini-requirements\` to ${nodeFileName} with a numbered list of observable outcomes (for a small slice this may be the whole specification).`,
364
365
  });
365
366
  }
366
367
  }
@@ -380,9 +381,9 @@ export function classifyScopeItem(input) {
380
381
  severity: "low",
381
382
  path: contractSource.path,
382
383
  message: contractBody === null
383
- ? "No `## Proof contract` section — the DELIVERED pairing has no promised-deliverables source to join proof against."
384
- : "`## Proof contract` carries no checkbox deliverables (`- [ ] …`) the DELIVERED pairing joins proof against those items.",
385
- remediation: "Add `## Proof contract` with one checkbox line per promised deliverable, written as an observable outcome (conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md)).",
384
+ ? "No `## Proof contract` section — proof has no promised-deliverables source to pair against."
385
+ : "`## Proof contract` carries no checkbox deliverables (`- [ ] …`) for proof to pair against.",
386
+ remediation: `Add \`## Proof contract\` to ${nodeFileName} with one checkbox line per promised deliverable, written as an observable outcome (conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md)).`,
386
387
  });
387
388
  }
388
389
  if (typeof input.readmeContent === "string") {
@@ -400,29 +401,13 @@ export function classifyScopeItem(input) {
400
401
  findings.push({
401
402
  kind: "ui_slice_missing_mockup",
402
403
  severity: "info",
403
- path: childPath(input.path, "README.md"),
404
+ path: childPath(input.path, nodeFileName),
404
405
  message: "Slice declares an Intent visual (UI slice) but no mockup reference is present — a UI slice with no mockup in its locked set is an incomplete plan.",
405
406
  remediation: "Attach the planned mockup: an image ref in `## Intent visual` or a plannedRef on the proof-contract deliverable (conventions SSOT: docs/reference/sdlc-conventions.md §3 (installed: $OPENRIG_HOME/reference/sdlc-conventions.md §3)).",
406
407
  });
407
408
  }
408
409
  }
409
410
  }
410
- // committed-without-PROGRESS. Fires only on POSITIVE evidence: the most
411
- // recent commit (HEAD) touched this slice AND definitively did NOT touch its
412
- // PROGRESS.md. Inputs are git-derived and CLI-only; when git context is
413
- // unavailable they are left undefined and this branch is inert (no
414
- // false-green, no false-positive). See ScopeAuditInput.
415
- if (input.sliceTouchedByRecentCommit === true
416
- && input.progressTouchedByRecentCommit === false) {
417
- const progressPath = childPath(input.path, "PROGRESS.md");
418
- findings.push({
419
- kind: "progress_not_updated_on_commit",
420
- severity: "medium",
421
- path: progressPath,
422
- message: "The most recent commit (HEAD) touched this slice but did not update PROGRESS.md.",
423
- remediation: "Update PROGRESS.md to reflect the committed change (one line per outcome) and amend or add a follow-up commit. Per the mission-slice-sop, PROGRESS.md is updated on every commit — fix the flag, do not suppress it.",
424
- });
425
- }
426
411
  }
427
412
  return { railStatus, findings, frontmatterError };
428
413
  }