openplanr 2.2641.0 → 2.2641.2

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 (583) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +14 -14
  3. package/bin/openplanr.js +13 -0
  4. package/bin/planr.js +5 -11
  5. package/dist/cli/commands/artifact.d.ts.map +1 -1
  6. package/dist/cli/commands/artifact.js +6 -5
  7. package/dist/cli/commands/artifact.js.map +1 -1
  8. package/dist/cli/commands/checklist.d.ts.map +1 -1
  9. package/dist/cli/commands/checklist.js +4 -3
  10. package/dist/cli/commands/checklist.js.map +1 -1
  11. package/dist/cli/commands/company.d.ts.map +1 -1
  12. package/dist/cli/commands/company.js +3 -2
  13. package/dist/cli/commands/company.js.map +1 -1
  14. package/dist/cli/commands/context.d.ts +1 -1
  15. package/dist/cli/commands/context.js +1 -1
  16. package/dist/cli/commands/doctor.d.ts.map +1 -1
  17. package/dist/cli/commands/doctor.js +11 -5
  18. package/dist/cli/commands/doctor.js.map +1 -1
  19. package/dist/cli/commands/export.d.ts +1 -1
  20. package/dist/cli/commands/export.js +1 -1
  21. package/dist/cli/commands/github.d.ts +1 -1
  22. package/dist/cli/commands/github.d.ts.map +1 -1
  23. package/dist/cli/commands/github.js +16 -18
  24. package/dist/cli/commands/github.js.map +1 -1
  25. package/dist/cli/commands/init-deterministic.d.ts.map +1 -1
  26. package/dist/cli/commands/init-deterministic.js +2 -1
  27. package/dist/cli/commands/init-deterministic.js.map +1 -1
  28. package/dist/cli/commands/linear.d.ts +2 -2
  29. package/dist/cli/commands/linear.d.ts.map +1 -1
  30. package/dist/cli/commands/linear.js +29 -28
  31. package/dist/cli/commands/linear.js.map +1 -1
  32. package/dist/cli/commands/operate/registrars/index.d.ts +1 -1
  33. package/dist/cli/commands/operate/registrars/index.d.ts.map +1 -1
  34. package/dist/cli/commands/operate/registrars/index.js +1 -1
  35. package/dist/cli/commands/operate/registrars/index.js.map +1 -1
  36. package/dist/cli/commands/operate/render.d.ts.map +1 -1
  37. package/dist/cli/commands/operate/render.js +2 -1
  38. package/dist/cli/commands/operate/render.js.map +1 -1
  39. package/dist/cli/commands/operate.d.ts.map +1 -1
  40. package/dist/cli/commands/operate.js +2 -1
  41. package/dist/cli/commands/operate.js.map +1 -1
  42. package/dist/cli/commands/planning-artifacts.d.ts.map +1 -1
  43. package/dist/cli/commands/planning-artifacts.js +2 -1
  44. package/dist/cli/commands/planning-artifacts.js.map +1 -1
  45. package/dist/cli/commands/quick/interaction.d.ts +1 -1
  46. package/dist/cli/commands/quick/interaction.d.ts.map +1 -1
  47. package/dist/cli/commands/quick/interaction.js +1 -1
  48. package/dist/cli/commands/quick/interaction.js.map +1 -1
  49. package/dist/cli/commands/quick/project.d.ts +1 -1
  50. package/dist/cli/commands/quick/project.d.ts.map +1 -1
  51. package/dist/cli/commands/quick/project.js +1 -1
  52. package/dist/cli/commands/quick/project.js.map +1 -1
  53. package/dist/cli/commands/report-linter.d.ts +1 -1
  54. package/dist/cli/commands/report-linter.js +1 -1
  55. package/dist/cli/commands/report.d.ts +1 -1
  56. package/dist/cli/commands/report.d.ts.map +1 -1
  57. package/dist/cli/commands/report.js +32 -35
  58. package/dist/cli/commands/report.js.map +1 -1
  59. package/dist/cli/commands/setup.d.ts.map +1 -1
  60. package/dist/cli/commands/setup.js +5 -4
  61. package/dist/cli/commands/setup.js.map +1 -1
  62. package/dist/cli/commands/spec.d.ts +11 -11
  63. package/dist/cli/commands/spec.d.ts.map +1 -1
  64. package/dist/cli/commands/spec.js +34 -33
  65. package/dist/cli/commands/spec.js.map +1 -1
  66. package/dist/cli/commands/sprint-refinement.d.ts.map +1 -1
  67. package/dist/cli/commands/sprint-refinement.js +2 -1
  68. package/dist/cli/commands/sprint-refinement.js.map +1 -1
  69. package/dist/cli/commands/status.d.ts.map +1 -1
  70. package/dist/cli/commands/status.js +2 -1
  71. package/dist/cli/commands/status.js.map +1 -1
  72. package/dist/cli/commands/story/interaction.d.ts +1 -1
  73. package/dist/cli/commands/story/interaction.d.ts.map +1 -1
  74. package/dist/cli/commands/story/interaction.js +1 -1
  75. package/dist/cli/commands/story/interaction.js.map +1 -1
  76. package/dist/cli/commands/story/project.d.ts +1 -1
  77. package/dist/cli/commands/story/project.d.ts.map +1 -1
  78. package/dist/cli/commands/story/project.js +1 -1
  79. package/dist/cli/commands/story/project.js.map +1 -1
  80. package/dist/cli/commands/sync.d.ts +1 -1
  81. package/dist/cli/commands/sync.d.ts.map +1 -1
  82. package/dist/cli/commands/sync.js +3 -2
  83. package/dist/cli/commands/sync.js.map +1 -1
  84. package/dist/cli/commands/template.d.ts +1 -1
  85. package/dist/cli/commands/template.js +10 -10
  86. package/dist/cli/commands/template.js.map +1 -1
  87. package/dist/cli/commands/update.d.ts +1 -1
  88. package/dist/cli/commands/update.js +1 -1
  89. package/dist/cli/commands/upgrade.d.ts +1 -1
  90. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  91. package/dist/cli/commands/upgrade.js +3 -2
  92. package/dist/cli/commands/upgrade.js.map +1 -1
  93. package/dist/cli/commands/voice.d.ts +1 -1
  94. package/dist/cli/commands/voice.js +1 -1
  95. package/dist/cli/index.js +6 -3
  96. package/dist/cli/index.js.map +1 -1
  97. package/dist/dashboard/.vite/manifest.json +1 -1
  98. package/dist/dashboard/assets/{index-D7R6tnlX.js → index-DI_TKz9J.js} +115 -115
  99. package/dist/dashboard/assets/index-DI_TKz9J.js.map +1 -0
  100. package/dist/dashboard/dashboard-manifest.json +10 -10
  101. package/dist/dashboard/index.html +1 -1
  102. package/dist/generators/cursor-generator.js +1 -1
  103. package/dist/generators/cursor-generator.js.map +1 -1
  104. package/dist/models/schema.d.ts +0 -4
  105. package/dist/models/schema.d.ts.map +1 -1
  106. package/dist/models/schema.js +2 -3
  107. package/dist/models/schema.js.map +1 -1
  108. package/dist/models/types.d.ts +13 -16
  109. package/dist/models/types.d.ts.map +1 -1
  110. package/dist/services/artifact-service.d.ts +1 -1
  111. package/dist/services/artifact-service.js +2 -2
  112. package/dist/services/artifact-service.js.map +1 -1
  113. package/dist/services/audit-log-service.d.ts.map +1 -1
  114. package/dist/services/audit-log-service.js +2 -1
  115. package/dist/services/audit-log-service.js.map +1 -1
  116. package/dist/services/claude-plugin-service.d.ts +3 -1
  117. package/dist/services/claude-plugin-service.d.ts.map +1 -1
  118. package/dist/services/claude-plugin-service.js +9 -5
  119. package/dist/services/claude-plugin-service.js.map +1 -1
  120. package/dist/services/codex-plugin-service.d.ts.map +1 -1
  121. package/dist/services/codex-plugin-service.js +3 -2
  122. package/dist/services/codex-plugin-service.js.map +1 -1
  123. package/dist/services/company-auth-service.d.ts.map +1 -1
  124. package/dist/services/company-auth-service.js +2 -1
  125. package/dist/services/company-auth-service.js.map +1 -1
  126. package/dist/services/company-sync-service.d.ts.map +1 -1
  127. package/dist/services/company-sync-service.js +9 -8
  128. package/dist/services/company-sync-service.js.map +1 -1
  129. package/dist/services/config-service.d.ts +6 -1
  130. package/dist/services/config-service.d.ts.map +1 -1
  131. package/dist/services/config-service.js +19 -4
  132. package/dist/services/config-service.js.map +1 -1
  133. package/dist/services/credentials-service.js +2 -2
  134. package/dist/services/credentials-service.js.map +1 -1
  135. package/dist/services/delivery-status-service.d.ts +1 -1
  136. package/dist/services/delivery-status-service.d.ts.map +1 -1
  137. package/dist/services/delivery-status-service.js +3 -2
  138. package/dist/services/delivery-status-service.js.map +1 -1
  139. package/dist/services/diagram-authoring-service.d.ts.map +1 -1
  140. package/dist/services/diagram-authoring-service.js +2 -1
  141. package/dist/services/diagram-authoring-service.js.map +1 -1
  142. package/dist/services/diagram-pipeline-service.d.ts.map +1 -1
  143. package/dist/services/diagram-pipeline-service.js +6 -5
  144. package/dist/services/diagram-pipeline-service.js.map +1 -1
  145. package/dist/services/distribution-service.d.ts +1 -4
  146. package/dist/services/distribution-service.d.ts.map +1 -1
  147. package/dist/services/distribution-service.js +3 -61
  148. package/dist/services/distribution-service.js.map +1 -1
  149. package/dist/services/github-service.d.ts +8 -5
  150. package/dist/services/github-service.d.ts.map +1 -1
  151. package/dist/services/github-service.js +23 -21
  152. package/dist/services/github-service.js.map +1 -1
  153. package/dist/services/graph-integrity.d.ts +1 -1
  154. package/dist/services/graph-integrity.js +1 -1
  155. package/dist/services/landing/landing-service.d.ts.map +1 -1
  156. package/dist/services/landing/landing-service.js +4 -1
  157. package/dist/services/landing/landing-service.js.map +1 -1
  158. package/dist/services/landing/receipt-custody.d.ts.map +1 -1
  159. package/dist/services/landing/receipt-custody.js +3 -2
  160. package/dist/services/landing/receipt-custody.js.map +1 -1
  161. package/dist/services/linear/errors.d.ts.map +1 -1
  162. package/dist/services/linear/errors.js +2 -1
  163. package/dist/services/linear/errors.js.map +1 -1
  164. package/dist/services/linear/plan-builders.d.ts +3 -3
  165. package/dist/services/linear/plan-builders.d.ts.map +1 -1
  166. package/dist/services/linear/plan-builders.js +2 -2
  167. package/dist/services/linear/strategy-context.d.ts.map +1 -1
  168. package/dist/services/linear/strategy-context.js +6 -5
  169. package/dist/services/linear/strategy-context.js.map +1 -1
  170. package/dist/services/linear-mapping-service.d.ts +1 -1
  171. package/dist/services/linear-mapping-service.d.ts.map +1 -1
  172. package/dist/services/linear-mapping-service.js +3 -2
  173. package/dist/services/linear-mapping-service.js.map +1 -1
  174. package/dist/services/linear-pull-service.d.ts +1 -1
  175. package/dist/services/linear-pull-service.d.ts.map +1 -1
  176. package/dist/services/linear-pull-service.js +10 -9
  177. package/dist/services/linear-pull-service.js.map +1 -1
  178. package/dist/services/linear-push-service.d.ts +5 -6
  179. package/dist/services/linear-push-service.d.ts.map +1 -1
  180. package/dist/services/linear-push-service.js +22 -22
  181. package/dist/services/linear-push-service.js.map +1 -1
  182. package/dist/services/linear-service.d.ts +2 -2
  183. package/dist/services/linear-service.js +2 -2
  184. package/dist/services/linear-team-service.d.ts.map +1 -1
  185. package/dist/services/linear-team-service.js +2 -1
  186. package/dist/services/linear-team-service.js.map +1 -1
  187. package/dist/services/operate/assignment-packet-service.d.ts.map +1 -1
  188. package/dist/services/operate/assignment-packet-service.js +2 -1
  189. package/dist/services/operate/assignment-packet-service.js.map +1 -1
  190. package/dist/services/operate/delivery-evidence.d.ts.map +1 -1
  191. package/dist/services/operate/delivery-evidence.js +2 -1
  192. package/dist/services/operate/delivery-evidence.js.map +1 -1
  193. package/dist/services/operate/measurement-schedule-service.d.ts.map +1 -1
  194. package/dist/services/operate/measurement-schedule-service.js +2 -1
  195. package/dist/services/operate/measurement-schedule-service.js.map +1 -1
  196. package/dist/services/operate/path-custody.d.ts.map +1 -1
  197. package/dist/services/operate/path-custody.js +2 -1
  198. package/dist/services/operate/path-custody.js.map +1 -1
  199. package/dist/services/operate/pinned-legacy-replay-runner.d.ts.map +1 -1
  200. package/dist/services/operate/pinned-legacy-replay-runner.js +3 -2
  201. package/dist/services/operate/pinned-legacy-replay-runner.js.map +1 -1
  202. package/dist/services/operate/planning-handoff-service.d.ts.map +1 -1
  203. package/dist/services/operate/planning-handoff-service.js +3 -2
  204. package/dist/services/operate/planning-handoff-service.js.map +1 -1
  205. package/dist/services/operate/project-transaction-lock.d.ts.map +1 -1
  206. package/dist/services/operate/project-transaction-lock.js +2 -1
  207. package/dist/services/operate/project-transaction-lock.js.map +1 -1
  208. package/dist/services/operate/repository-read-service.d.ts.map +1 -1
  209. package/dist/services/operate/repository-read-service.js +5 -4
  210. package/dist/services/operate/repository-read-service.js.map +1 -1
  211. package/dist/services/operate/screened-evidence-service.d.ts.map +1 -1
  212. package/dist/services/operate/screened-evidence-service.js +5 -4
  213. package/dist/services/operate/screened-evidence-service.js.map +1 -1
  214. package/dist/services/operate/storage-layout.d.ts.map +1 -1
  215. package/dist/services/operate/storage-layout.js +8 -7
  216. package/dist/services/operate/storage-layout.js.map +1 -1
  217. package/dist/services/operate/store.d.ts.map +1 -1
  218. package/dist/services/operate/store.js +7 -6
  219. package/dist/services/operate/store.js.map +1 -1
  220. package/dist/services/pipeline-package-service.js +1 -1
  221. package/dist/services/pipeline-package-service.js.map +1 -1
  222. package/dist/services/provenance-service.d.ts.map +1 -1
  223. package/dist/services/provenance-service.js +2 -1
  224. package/dist/services/provenance-service.js.map +1 -1
  225. package/dist/services/report-linter-service.js +1 -1
  226. package/dist/services/report-linter-service.js.map +1 -1
  227. package/dist/services/revise-cache-service.d.ts.map +1 -1
  228. package/dist/services/revise-cache-service.js +2 -1
  229. package/dist/services/revise-cache-service.js.map +1 -1
  230. package/dist/services/runtime-manager/doctor.d.ts +13 -0
  231. package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
  232. package/dist/services/runtime-manager/doctor.js +50 -3
  233. package/dist/services/runtime-manager/doctor.js.map +1 -1
  234. package/dist/services/runtime-manager/inventory.d.ts +1 -0
  235. package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
  236. package/dist/services/runtime-manager/inventory.js +3 -1
  237. package/dist/services/runtime-manager/inventory.js.map +1 -1
  238. package/dist/services/runtime-manager-service.d.ts +4 -2
  239. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  240. package/dist/services/runtime-manager-service.js +52 -33
  241. package/dist/services/runtime-manager-service.js.map +1 -1
  242. package/dist/services/server-lifecycle-service.d.ts.map +1 -1
  243. package/dist/services/server-lifecycle-service.js +14 -9
  244. package/dist/services/server-lifecycle-service.js.map +1 -1
  245. package/dist/services/spec-service.d.ts +4 -4
  246. package/dist/services/spec-service.d.ts.map +1 -1
  247. package/dist/services/spec-service.js +43 -77
  248. package/dist/services/spec-service.js.map +1 -1
  249. package/dist/services/sprint-refinement-service.d.ts +6 -6
  250. package/dist/services/sprint-refinement-service.d.ts.map +1 -1
  251. package/dist/services/sprint-refinement-service.js +16 -16
  252. package/dist/services/sprint-refinement-service.js.map +1 -1
  253. package/dist/services/template-service.d.ts.map +1 -1
  254. package/dist/services/template-service.js +3 -1
  255. package/dist/services/template-service.js.map +1 -1
  256. package/dist/services/upgrade-offer-service.d.ts +2 -2
  257. package/dist/services/upgrade-offer-service.d.ts.map +1 -1
  258. package/dist/services/upgrade-offer-service.js +4 -3
  259. package/dist/services/upgrade-offer-service.js.map +1 -1
  260. package/dist/services/upgrade-report.d.ts +1 -1
  261. package/dist/services/upgrade-report.d.ts.map +1 -1
  262. package/dist/services/upgrade-report.js +5 -4
  263. package/dist/services/upgrade-report.js.map +1 -1
  264. package/dist/services/upgrade-service.d.ts +5 -5
  265. package/dist/services/upgrade-service.d.ts.map +1 -1
  266. package/dist/services/upgrade-service.js +14 -13
  267. package/dist/services/upgrade-service.js.map +1 -1
  268. package/dist/templates/backlog/backlog-item.md.hbs +1 -1
  269. package/dist/templates/checklists/agile-checklist.md.hbs +6 -6
  270. package/dist/templates/epics/epic.md.hbs +1 -1
  271. package/dist/templates/export/planning-report.html.hbs +1 -1
  272. package/dist/templates/export/planning-report.md.hbs +1 -1
  273. package/dist/templates/features/feature.md.hbs +1 -1
  274. package/dist/templates/guides/estimation.md.hbs +3 -12
  275. package/dist/templates/quick/quick-task.md.hbs +1 -1
  276. package/dist/templates/rules/cursor/create-epic.mdc.hbs +1 -1
  277. package/dist/templates/rules/cursor/create-features.mdc.hbs +1 -1
  278. package/dist/templates/rules/cursor/create-user-story.mdc.hbs +1 -1
  279. package/dist/templates/rules/cursor/openplanr.mdc.hbs +1 -1
  280. package/dist/templates/rules/shared/capability-map.md.hbs +1 -1
  281. package/dist/templates/rules/shared/host-native-guidance.md.hbs +1 -1
  282. package/dist/templates/spec/spec-shaped.md.hbs +1 -1
  283. package/dist/templates/spec/spec.md.hbs +1 -1
  284. package/dist/templates/sprints/sprint-tasks.md.hbs +1 -1
  285. package/dist/templates/sprints/sprint.md.hbs +1 -1
  286. package/dist/templates/stories/user-story.md.hbs +1 -1
  287. package/dist/utils/constants.d.ts +8 -4
  288. package/dist/utils/constants.d.ts.map +1 -1
  289. package/dist/utils/constants.js +10 -4
  290. package/dist/utils/constants.js.map +1 -1
  291. package/docs/ARTIFACT_REVIEW.md +13 -13
  292. package/docs/CLI.md +258 -262
  293. package/docs/CROSS_RUNTIME_SETUP.md +33 -33
  294. package/docs/TROUBLESHOOTING.md +28 -28
  295. package/install.ps1 +2 -2
  296. package/install.sh +3 -3
  297. package/lib/host-packages/adapter-registry.json +5 -5
  298. package/lib/host-packages/capability-map.json +9 -9
  299. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  300. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  301. package/lib/host-packages/claude/openplanr/.openplanr-content.json +109 -89
  302. package/lib/host-packages/claude/openplanr/README.md +13 -17
  303. package/lib/host-packages/claude/openplanr/agents/planr-backend.md +49 -55
  304. package/lib/host-packages/claude/openplanr/agents/planr-database.md +56 -92
  305. package/lib/host-packages/claude/openplanr/agents/planr-designer.md +35 -51
  306. package/lib/host-packages/claude/openplanr/agents/planr-devops.md +37 -51
  307. package/lib/host-packages/claude/openplanr/agents/planr-documentation.md +29 -52
  308. package/lib/host-packages/claude/openplanr/agents/planr-entity-scaffold.md +24 -23
  309. package/lib/host-packages/claude/openplanr/agents/planr-frontend.md +46 -58
  310. package/lib/host-packages/claude/openplanr/agents/planr-qa.md +4 -2
  311. package/lib/host-packages/claude/openplanr/agents/planr-specification.md +54 -51
  312. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/backend.md +21 -65
  313. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/designer.md +5 -6
  314. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/devops.md +2 -3
  315. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/doc-gen.md +3 -4
  316. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/frontend.md +19 -64
  317. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/specification.md +10 -12
  318. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/backend.md +19 -62
  319. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/designer.md +5 -6
  320. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/devops.md +2 -3
  321. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/doc-gen.md +2 -3
  322. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/frontend.md +16 -59
  323. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/specification.md +9 -11
  324. package/lib/host-packages/claude/openplanr/references/pipeline/stacks/database/mongodb.md +4 -4
  325. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  326. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +105 -55
  327. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +12 -7
  328. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  329. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
  330. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  331. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +11 -4
  332. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  333. package/lib/host-packages/claude/openplanr/skills/artifact/SKILL.md +14 -14
  334. package/lib/host-packages/claude/openplanr/skills/artifact/references/company-review.md +9 -9
  335. package/lib/host-packages/claude/openplanr/skills/artifact/references/design-sharing.md +1 -1
  336. package/lib/host-packages/claude/openplanr/skills/artifact/references/diagram-sharing.md +4 -4
  337. package/lib/host-packages/claude/openplanr/skills/ceo-review/SKILL.md +0 -1
  338. package/lib/host-packages/claude/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
  339. package/lib/host-packages/claude/openplanr/skills/chair-review/SKILL.md +6 -2
  340. package/lib/host-packages/claude/openplanr/skills/challenger-review/SKILL.md +6 -2
  341. package/lib/host-packages/claude/openplanr/skills/cmo-review/SKILL.md +0 -1
  342. package/lib/host-packages/claude/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
  343. package/lib/host-packages/claude/openplanr/skills/coo-review/SKILL.md +0 -1
  344. package/lib/host-packages/claude/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
  345. package/lib/host-packages/claude/openplanr/skills/cpo-review/SKILL.md +0 -1
  346. package/lib/host-packages/claude/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
  347. package/lib/host-packages/claude/openplanr/skills/cto-review/SKILL.md +0 -1
  348. package/lib/host-packages/claude/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
  349. package/lib/host-packages/claude/openplanr/skills/dashboard/SKILL.md +1 -1
  350. package/lib/host-packages/claude/openplanr/skills/delegate/SKILL.md +7 -0
  351. package/lib/host-packages/claude/openplanr/skills/delegate/references/capsule-contract.md +16 -1
  352. package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +8 -6
  353. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
  354. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
  355. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
  356. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/context.mjs +84 -22
  357. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
  358. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
  359. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
  360. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-preparation.mjs +2 -0
  361. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
  362. package/lib/host-packages/claude/openplanr/skills/design/SKILL.md +1 -1
  363. package/lib/host-packages/claude/openplanr/skills/design/references/team-review.md +1 -1
  364. package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +4 -4
  365. package/lib/host-packages/claude/openplanr/skills/design-loop/SKILL.md +1 -1
  366. package/lib/host-packages/claude/openplanr/skills/design-loop/references/team-review.md +1 -1
  367. package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +4 -4
  368. package/lib/host-packages/claude/openplanr/skills/design-review/SKILL.md +1 -1
  369. package/lib/host-packages/claude/openplanr/skills/design-review/references/team-review.md +1 -1
  370. package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +4 -4
  371. package/lib/host-packages/claude/openplanr/skills/diagram/SKILL.md +15 -15
  372. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-document.md +1 -1
  373. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
  374. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-sharing.md +4 -4
  375. package/lib/host-packages/claude/openplanr/skills/doctor/SKILL.md +9 -9
  376. package/lib/host-packages/claude/openplanr/skills/doctor/references/upgrade.md +18 -16
  377. package/lib/host-packages/claude/openplanr/skills/land/SKILL.md +2 -2
  378. package/lib/host-packages/claude/openplanr/skills/operate/SKILL.md +5 -3
  379. package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +8 -2
  380. package/lib/host-packages/claude/openplanr/skills/plan/references/artifact-contract.md +5 -0
  381. package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +5 -0
  382. package/lib/host-packages/claude/openplanr/skills/sprint/SKILL.md +16 -15
  383. package/lib/host-packages/claude/openplanr/skills/sprint/references/refinement-contract.md +5 -5
  384. package/lib/host-packages/claude/openplanr/skills/sprint/references/sprint-formats.md +8 -8
  385. package/lib/host-packages/claude/openplanr/skills/sprint/references/tracker-connections.md +70 -0
  386. package/lib/host-packages/claude/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
  387. package/lib/host-packages/claude/openplanr/skills/status/SKILL.md +5 -4
  388. package/lib/host-packages/claude/openplanr/skills/status/references/tracker-connections.md +70 -0
  389. package/lib/host-packages/claude/openplanr/skills/sync/SKILL.md +11 -20
  390. package/lib/host-packages/claude/openplanr/skills/sync/references/tracker-connections.md +70 -0
  391. package/lib/host-packages/claude/openplanr/skills/sync/scripts/names.mjs +8 -0
  392. package/lib/host-packages/claude/openplanr/skills/sync/scripts/sync.mjs +3 -2
  393. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +81 -61
  394. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  395. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/company-review.md +9 -9
  396. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/design-sharing.md +1 -1
  397. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/diagram-sharing.md +4 -4
  398. package/lib/host-packages/cursor/openplanr/rules/planr-artifact.mdc +14 -14
  399. package/lib/host-packages/cursor/openplanr/rules/planr-ceo-review/references/operate-advisor-contract.md +25 -4
  400. package/lib/host-packages/cursor/openplanr/rules/planr-chair-review.mdc +6 -1
  401. package/lib/host-packages/cursor/openplanr/rules/planr-challenger-review.mdc +6 -1
  402. package/lib/host-packages/cursor/openplanr/rules/planr-cmo-review/references/operate-advisor-contract.md +25 -4
  403. package/lib/host-packages/cursor/openplanr/rules/planr-coo-review/references/operate-advisor-contract.md +25 -4
  404. package/lib/host-packages/cursor/openplanr/rules/planr-cpo-review/references/operate-advisor-contract.md +25 -4
  405. package/lib/host-packages/cursor/openplanr/rules/planr-cto-review/references/operate-advisor-contract.md +25 -4
  406. package/lib/host-packages/cursor/openplanr/rules/planr-dashboard.mdc +1 -1
  407. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/capsule-contract.md +16 -1
  408. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +8 -6
  409. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/claude.mjs +11 -4
  410. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/native.mjs +1 -1
  411. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/backend-diagnostics.mjs +14 -48
  412. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/context.mjs +84 -22
  413. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/credentials.mjs +167 -0
  414. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/presentation.mjs +3 -2
  415. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-contract.mjs +5 -7
  416. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-preparation.mjs +2 -0
  417. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-record.mjs +2 -3
  418. package/lib/host-packages/cursor/openplanr/rules/planr-delegate.mdc +7 -0
  419. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/team-review.md +1 -1
  420. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +4 -4
  421. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/team-review.md +1 -1
  422. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +4 -4
  423. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop.mdc +1 -1
  424. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/team-review.md +1 -1
  425. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +4 -4
  426. package/lib/host-packages/cursor/openplanr/rules/planr-design-review.mdc +1 -1
  427. package/lib/host-packages/cursor/openplanr/rules/planr-design.mdc +1 -1
  428. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-document.md +1 -1
  429. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-intent-to-ir.md +1 -1
  430. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-sharing.md +4 -4
  431. package/lib/host-packages/cursor/openplanr/rules/planr-diagram.mdc +15 -15
  432. package/lib/host-packages/cursor/openplanr/rules/planr-doctor/references/upgrade.md +18 -16
  433. package/lib/host-packages/cursor/openplanr/rules/planr-doctor.mdc +9 -9
  434. package/lib/host-packages/cursor/openplanr/rules/planr-land.mdc +2 -2
  435. package/lib/host-packages/cursor/openplanr/rules/planr-operate.mdc +5 -3
  436. package/lib/host-packages/cursor/openplanr/rules/planr-plan/references/artifact-contract.md +5 -0
  437. package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +8 -2
  438. package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +5 -0
  439. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/refinement-contract.md +5 -5
  440. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/sprint-formats.md +8 -8
  441. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/tracker-connections.md +70 -0
  442. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/schemas/refinement.schema.json +3 -3
  443. package/lib/host-packages/cursor/openplanr/rules/planr-sprint.mdc +16 -15
  444. package/lib/host-packages/cursor/openplanr/rules/planr-status/references/tracker-connections.md +70 -0
  445. package/lib/host-packages/cursor/openplanr/rules/planr-status.mdc +5 -4
  446. package/lib/host-packages/cursor/openplanr/rules/planr-sync/references/tracker-connections.md +70 -0
  447. package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/names.mjs +8 -0
  448. package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/sync.mjs +3 -2
  449. package/lib/host-packages/cursor/openplanr/rules/planr-sync.mdc +11 -20
  450. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  451. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +105 -55
  452. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +12 -7
  453. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  454. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
  455. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  456. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +11 -4
  457. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  458. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  459. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  460. package/lib/host-packages/openai/openplanr/.openplanr-content.json +90 -70
  461. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  462. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +105 -55
  463. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +12 -7
  464. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  465. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
  466. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  467. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +11 -4
  468. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  469. package/lib/host-packages/openai/openplanr/skills/artifact/SKILL.md +14 -14
  470. package/lib/host-packages/openai/openplanr/skills/artifact/references/company-review.md +9 -9
  471. package/lib/host-packages/openai/openplanr/skills/artifact/references/design-sharing.md +1 -1
  472. package/lib/host-packages/openai/openplanr/skills/artifact/references/diagram-sharing.md +4 -4
  473. package/lib/host-packages/openai/openplanr/skills/ceo-review/SKILL.md +0 -1
  474. package/lib/host-packages/openai/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
  475. package/lib/host-packages/openai/openplanr/skills/chair-review/SKILL.md +6 -2
  476. package/lib/host-packages/openai/openplanr/skills/challenger-review/SKILL.md +6 -2
  477. package/lib/host-packages/openai/openplanr/skills/cmo-review/SKILL.md +0 -1
  478. package/lib/host-packages/openai/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
  479. package/lib/host-packages/openai/openplanr/skills/coo-review/SKILL.md +0 -1
  480. package/lib/host-packages/openai/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
  481. package/lib/host-packages/openai/openplanr/skills/cpo-review/SKILL.md +0 -1
  482. package/lib/host-packages/openai/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
  483. package/lib/host-packages/openai/openplanr/skills/cto-review/SKILL.md +0 -1
  484. package/lib/host-packages/openai/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
  485. package/lib/host-packages/openai/openplanr/skills/dashboard/SKILL.md +1 -1
  486. package/lib/host-packages/openai/openplanr/skills/delegate/SKILL.md +7 -0
  487. package/lib/host-packages/openai/openplanr/skills/delegate/openplanr.skill.json +11 -0
  488. package/lib/host-packages/openai/openplanr/skills/delegate/references/capsule-contract.md +16 -1
  489. package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +8 -6
  490. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
  491. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
  492. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
  493. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/context.mjs +84 -22
  494. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
  495. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
  496. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
  497. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-preparation.mjs +2 -0
  498. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
  499. package/lib/host-packages/openai/openplanr/skills/design/SKILL.md +1 -1
  500. package/lib/host-packages/openai/openplanr/skills/design/references/team-review.md +1 -1
  501. package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +4 -4
  502. package/lib/host-packages/openai/openplanr/skills/design-loop/SKILL.md +1 -1
  503. package/lib/host-packages/openai/openplanr/skills/design-loop/references/team-review.md +1 -1
  504. package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +4 -4
  505. package/lib/host-packages/openai/openplanr/skills/design-review/SKILL.md +1 -1
  506. package/lib/host-packages/openai/openplanr/skills/design-review/references/team-review.md +1 -1
  507. package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +4 -4
  508. package/lib/host-packages/openai/openplanr/skills/diagram/SKILL.md +15 -15
  509. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-document.md +1 -1
  510. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
  511. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-sharing.md +4 -4
  512. package/lib/host-packages/openai/openplanr/skills/doctor/SKILL.md +9 -9
  513. package/lib/host-packages/openai/openplanr/skills/doctor/references/upgrade.md +18 -16
  514. package/lib/host-packages/openai/openplanr/skills/land/SKILL.md +2 -2
  515. package/lib/host-packages/openai/openplanr/skills/operate/SKILL.md +5 -3
  516. package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +8 -2
  517. package/lib/host-packages/openai/openplanr/skills/plan/references/artifact-contract.md +5 -0
  518. package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +5 -0
  519. package/lib/host-packages/openai/openplanr/skills/sprint/SKILL.md +16 -15
  520. package/lib/host-packages/openai/openplanr/skills/sprint/openplanr.skill.json +11 -0
  521. package/lib/host-packages/openai/openplanr/skills/sprint/references/refinement-contract.md +5 -5
  522. package/lib/host-packages/openai/openplanr/skills/sprint/references/sprint-formats.md +8 -8
  523. package/lib/host-packages/openai/openplanr/skills/sprint/references/tracker-connections.md +70 -0
  524. package/lib/host-packages/openai/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
  525. package/lib/host-packages/openai/openplanr/skills/status/SKILL.md +5 -4
  526. package/lib/host-packages/openai/openplanr/skills/status/openplanr.skill.json +11 -0
  527. package/lib/host-packages/openai/openplanr/skills/status/references/tracker-connections.md +70 -0
  528. package/lib/host-packages/openai/openplanr/skills/sync/SKILL.md +11 -20
  529. package/lib/host-packages/openai/openplanr/skills/sync/openplanr.skill.json +22 -0
  530. package/lib/host-packages/openai/openplanr/skills/sync/references/tracker-connections.md +70 -0
  531. package/lib/host-packages/openai/openplanr/skills/sync/scripts/names.mjs +8 -0
  532. package/lib/host-packages/openai/openplanr/skills/sync/scripts/sync.mjs +3 -2
  533. package/lib/integrations.mjs +3 -2
  534. package/lib/names.d.mts +4 -0
  535. package/lib/names.mjs +8 -0
  536. package/lib/planning-folder.d.mts +14 -0
  537. package/lib/planning-folder.mjs +40 -0
  538. package/package.json +5 -5
  539. package/dist/dashboard/assets/index-D7R6tnlX.js.map +0 -1
  540. package/dist/services/connectors/adapters/business-metrics.d.ts +0 -5
  541. package/dist/services/connectors/adapters/business-metrics.d.ts.map +0 -1
  542. package/dist/services/connectors/adapters/business-metrics.js +0 -41
  543. package/dist/services/connectors/adapters/business-metrics.js.map +0 -1
  544. package/dist/services/connectors/adapters/deployment-health.d.ts +0 -18
  545. package/dist/services/connectors/adapters/deployment-health.d.ts.map +0 -1
  546. package/dist/services/connectors/adapters/deployment-health.js +0 -67
  547. package/dist/services/connectors/adapters/deployment-health.js.map +0 -1
  548. package/dist/services/connectors/adapters/github.d.ts +0 -5
  549. package/dist/services/connectors/adapters/github.d.ts.map +0 -1
  550. package/dist/services/connectors/adapters/github.js +0 -31
  551. package/dist/services/connectors/adapters/github.js.map +0 -1
  552. package/dist/services/connectors/adapters/linear-jira.d.ts +0 -5
  553. package/dist/services/connectors/adapters/linear-jira.d.ts.map +0 -1
  554. package/dist/services/connectors/adapters/linear-jira.js +0 -26
  555. package/dist/services/connectors/adapters/linear-jira.js.map +0 -1
  556. package/dist/services/connectors/adapters/posthog.d.ts +0 -5
  557. package/dist/services/connectors/adapters/posthog.d.ts.map +0 -1
  558. package/dist/services/connectors/adapters/posthog.js +0 -31
  559. package/dist/services/connectors/adapters/posthog.js.map +0 -1
  560. package/dist/services/connectors/adapters/sentry.d.ts +0 -5
  561. package/dist/services/connectors/adapters/sentry.d.ts.map +0 -1
  562. package/dist/services/connectors/adapters/sentry.js +0 -31
  563. package/dist/services/connectors/adapters/sentry.js.map +0 -1
  564. package/dist/services/connectors/checkpoint-custody.d.ts +0 -45
  565. package/dist/services/connectors/checkpoint-custody.d.ts.map +0 -1
  566. package/dist/services/connectors/checkpoint-custody.js +0 -496
  567. package/dist/services/connectors/checkpoint-custody.js.map +0 -1
  568. package/dist/services/connectors/connector-registry.d.ts +0 -144
  569. package/dist/services/connectors/connector-registry.d.ts.map +0 -1
  570. package/dist/services/connectors/connector-registry.js +0 -423
  571. package/dist/services/connectors/connector-registry.js.map +0 -1
  572. package/dist/services/connectors/connector-runtime.d.ts +0 -208
  573. package/dist/services/connectors/connector-runtime.d.ts.map +0 -1
  574. package/dist/services/connectors/connector-runtime.js +0 -1305
  575. package/dist/services/connectors/connector-runtime.js.map +0 -1
  576. package/dist/services/connectors/credential-custody.d.ts +0 -96
  577. package/dist/services/connectors/credential-custody.d.ts.map +0 -1
  578. package/dist/services/connectors/credential-custody.js +0 -390
  579. package/dist/services/connectors/credential-custody.js.map +0 -1
  580. package/dist/templates/voice/standup.md.hbs +0 -20
  581. /package/lib/host-packages/claude/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
  582. /package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
  583. /package/lib/host-packages/openai/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
@@ -1,6 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import { pathToFileURL } from 'node:url';
3
3
  import { CliBoundaryError, toCliFailureEnvelope } from '../cli/error-boundary.js';
4
+ import { CLI_COMMAND } from '../utils/constants.js';
4
5
  import { resolvePipelinePackage } from './pipeline-package-service.js';
5
6
  async function designRuntime() {
6
7
  const pipeline = resolvePipelinePackage(true);
@@ -25,7 +26,7 @@ async function runtime() {
25
26
  const pipeline = resolvePipelinePackage(true);
26
27
  if (!pipeline)
27
28
  throw new CliBoundaryError('E_SERVER_RUNTIME_MISSING', 'The Studio runtime is unavailable.', {
28
- recovery: 'Run planr doctor to inspect your installation.',
29
+ recovery: `Run ${CLI_COMMAND} doctor to inspect your installation.`,
29
30
  });
30
31
  const api = (await import(pathToFileURL(path.join(pipeline.root, 'lib/artifact/review-server.mjs')).href));
31
32
  if (typeof api.listArtifactReviewServers !== 'function' ||
@@ -53,12 +54,12 @@ export async function listManagedServers() {
53
54
  }
54
55
  export async function stopManagedServer(instanceId) {
55
56
  if (!/^[A-Za-z0-9_-]{22}$/u.test(instanceId))
56
- throw new CliBoundaryError('E_SERVER_INSTANCE_REQUIRED', 'Choose the Studio instance shown by planr server list.', { recovery: 'Use its instance ID; ports and process IDs are not shutdown authority.' });
57
+ throw new CliBoundaryError('E_SERVER_INSTANCE_REQUIRED', `Choose the Studio instance shown by ${CLI_COMMAND} server list.`, { recovery: 'Use its instance ID; ports and process IDs are not shutdown authority.' });
57
58
  const daemon = await designRuntime();
58
59
  const running = await daemon?.findRunningDaemon();
59
60
  if (daemon && running?.instanceId === instanceId) {
60
61
  if (!(await daemon.killRunningDaemon(running)))
61
- throw new CliBoundaryError('E_SERVER_INSTANCE_CHANGED', 'The design daemon instance changed before it could be stopped.', { recovery: 'Run planr server list and choose its current instance ID.' });
62
+ throw new CliBoundaryError('E_SERVER_INSTANCE_CHANGED', 'The design daemon instance changed before it could be stopped.', { recovery: `Run ${CLI_COMMAND} server list and choose its current instance ID.` });
62
63
  return { status: 'stopping' };
63
64
  }
64
65
  const dashboards = await dashboardRuntime();
@@ -71,15 +72,17 @@ function validateSelection(selection) {
71
72
  if ((selection.target !== undefined && (selection.all || selection.project !== undefined)) ||
72
73
  (selection.target === undefined && !selection.all && selection.project === undefined) ||
73
74
  (selection.project !== undefined && !selection.project.trim()))
74
- throw new CliBoundaryError('E_SERVER_SELECTOR_INVALID', 'Choose one recorded instance or port, --all, or --project <directory>.', { recovery: 'Run planr server list to inspect owned services before choosing a selector.' });
75
+ throw new CliBoundaryError('E_SERVER_SELECTOR_INVALID', 'Choose one recorded instance or port, --all, or --project <directory>.', {
76
+ recovery: `Run ${CLI_COMMAND} server list to inspect owned services before choosing a selector.`,
77
+ });
75
78
  if (selection.all && selection.project === undefined && !selection.yes)
76
79
  throw new CliBoundaryError('E_SERVER_CONFIRMATION_REQUIRED', 'Stopping all owned local services requires --yes.', {
77
- recovery: 'Inspect planr server list, then use server stop --all --yes or filter by --project.',
80
+ recovery: `Inspect ${CLI_COMMAND} server list, then use server stop --all --yes or filter by --project.`,
78
81
  });
79
82
  if (selection.target !== undefined &&
80
83
  !/^[A-Za-z0-9_-]{22}$/u.test(selection.target) &&
81
84
  (!/^[1-9][0-9]{0,4}$/u.test(selection.target) || Number(selection.target) > 65535))
82
- throw new CliBoundaryError('E_SERVER_SELECTOR_INVALID', 'The server selector must be a recorded instance ID or a port from 1 to 65535.', { recovery: 'Run planr server list and choose its instance ID or recorded port.' });
85
+ throw new CliBoundaryError('E_SERVER_SELECTOR_INVALID', 'The server selector must be a recorded instance ID or a port from 1 to 65535.', { recovery: `Run ${CLI_COMMAND} server list and choose its instance ID or recorded port.` });
83
86
  }
84
87
  /** Resolve selection only; a port or project never grants process authority. */
85
88
  export function selectManagedServerInstances(instances, selection) {
@@ -91,9 +94,11 @@ export function selectManagedServerInstances(instances, selection) {
91
94
  ? instance.instanceId === target
92
95
  : instance.port === Number(target));
93
96
  if (selected.length > 1)
94
- throw new CliBoundaryError('E_SERVER_SELECTOR_AMBIGUOUS', 'More than one owned instance matches this selector.', { recovery: 'Run planr server list and stop the exact instance ID instead.' });
97
+ throw new CliBoundaryError('E_SERVER_SELECTOR_AMBIGUOUS', 'More than one owned instance matches this selector.', { recovery: `Run ${CLI_COMMAND} server list and stop the exact instance ID instead.` });
95
98
  if (!selected.length)
96
- throw new CliBoundaryError('E_SERVER_SELECTION_EMPTY', 'No currently owned local service matches this selector.', { recovery: 'Run planr server list again; never stop another process by its port or PID.' });
99
+ throw new CliBoundaryError('E_SERVER_SELECTION_EMPTY', 'No currently owned local service matches this selector.', {
100
+ recovery: `Run ${CLI_COMMAND} server list again; never stop another process by its port or PID.`,
101
+ });
97
102
  }
98
103
  else if (selection.project !== undefined) {
99
104
  const projectRoot = path.resolve(selection.project);
@@ -118,7 +123,7 @@ export async function stopManagedServers(selection) {
118
123
  catch (error) {
119
124
  const failure = toCliFailureEnvelope(error, {
120
125
  code: 'E_SERVER_STOP_FAILED',
121
- problem: 'The owned service could not be stopped. Run planr server list and retry its current instance.',
126
+ problem: `The owned service could not be stopped. Run ${CLI_COMMAND} server list and retry its current instance.`,
122
127
  });
123
128
  batch.failures.push({
124
129
  instanceId: instance.instanceId,
@@ -1 +1 @@
1
- {"version":3,"file":"server-lifecycle-service.js","sourceRoot":"","sources":["../../src/services/server-lifecycle-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-lifecycle-service.js","sourceRoot":"","sources":["../../src/services/server-lifecycle-service.ts"],"names":[],"mappings":"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"}
@@ -16,12 +16,12 @@
16
16
  *
17
17
  * Why directory-per-spec:
18
18
  * - Self-contained / portable / `rm -rf` clean
19
- * - `PREFIX-NNN-slug` naming consistent with every other planr artifact
19
+ * - `PREFIX-NNN-slug` naming consistent with every other openplanr artifact
20
20
  * - SPEC-NNN, US-NNN, and T-NNN IDs are project-global and monotonic. The
21
21
  * sequence never reuses gaps; `specId` and `storyId` retain the hierarchy.
22
22
  * - Schemas are owned by the OpenPlanr Protocol package and shared by all hosts.
23
23
  *
24
- * This service owns dedicated planning inside the planr CLI. The pipeline
24
+ * This service owns dedicated planning inside the openplanr CLI. The pipeline
25
25
  * independently provides feature-local PO planning as part of its complete
26
26
  * PO → Design → Review → DEV → QA flow. Both producers share the artifact
27
27
  * contract and record provenance so their intentional overlap stays clear.
@@ -345,7 +345,7 @@ export declare class ProfessionalSpecValidationError extends Error {
345
345
  export declare function parseProfessionalSpecAnswers(value: unknown): ShapeSpecAnswers;
346
346
  /**
347
347
  * Re-render the SPEC body from a structured set of answers and write it back
348
- * atomically. Preserves frontmatter values that the user (or `planr spec
348
+ * atomically. Preserves frontmatter values that the user (or `openplanr spec
349
349
  * create`) already set: priority, milestone, po, ui_files, created, etc.
350
350
  *
351
351
  * Updates `status` to `shaping` so subsequent commands (`decompose`, `promote`)
@@ -444,7 +444,7 @@ export declare function attachSpecDesigns(projectDir: string, config: OpenPlanrC
444
444
  designDir: string;
445
445
  }>;
446
446
  /**
447
- * Snapshot of all specs + their decomposition state. Used by `planr spec status`.
447
+ * Snapshot of all specs + their decomposition state. Used by `openplanr spec status`.
448
448
  */
449
449
  export interface SpecStatusReport {
450
450
  specCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"spec-service.d.ts","sourceRoot":"","sources":["../../src/services/spec-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-service.d.ts","sourceRoot":"","sources":["../../src/services/spec-service.ts"],"names":[],"mappings":"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"}
@@ -16,12 +16,12 @@
16
16
  *
17
17
  * Why directory-per-spec:
18
18
  * - Self-contained / portable / `rm -rf` clean
19
- * - `PREFIX-NNN-slug` naming consistent with every other planr artifact
19
+ * - `PREFIX-NNN-slug` naming consistent with every other openplanr artifact
20
20
  * - SPEC-NNN, US-NNN, and T-NNN IDs are project-global and monotonic. The
21
21
  * sequence never reuses gaps; `specId` and `storyId` retain the hierarchy.
22
22
  * - Schemas are owned by the OpenPlanr Protocol package and shared by all hosts.
23
23
  *
24
- * This service owns dedicated planning inside the planr CLI. The pipeline
24
+ * This service owns dedicated planning inside the openplanr CLI. The pipeline
25
25
  * independently provides feature-local PO planning as part of its complete
26
26
  * PO → Design → Review → DEV → QA flow. Both producers share the artifact
27
27
  * contract and record provenance so their intentional overlap stays clear.
@@ -29,6 +29,7 @@
29
29
  import { randomUUID } from 'node:crypto';
30
30
  import fsPromises from 'node:fs/promises';
31
31
  import path from 'node:path';
32
+ import { CLI_COMMAND } from '../utils/constants.js';
32
33
  import { messageOf } from '../utils/error-message.js';
33
34
  import { escapeRegExp } from '../utils/escape-regexp.js';
34
35
  import { ensureDir, fileExists, listFiles, readFile, writeFile } from '../utils/fs.js';
@@ -159,7 +160,7 @@ export async function createSpec(projectDir, config, title, options = {}) {
159
160
  await ensureDir(specsRoot);
160
161
  // Cross-spec slug-collision check. Two specs with the same slug would be
161
162
  // ambiguous in host-native planning handoffs (`planr-plan {slug}` —
162
- // which spec?), and they'd be hard to distinguish in `planr spec list`.
163
+ // which spec?), and they'd be hard to distinguish in `openplanr spec list`.
163
164
  // Refuse early with a clear suggestion.
164
165
  {
165
166
  const fs = await import('node:fs/promises');
@@ -173,14 +174,14 @@ export async function createSpec(projectDir, config, title, options = {}) {
173
174
  const slugRe = new RegExp(`^[A-Z]+-\\d{3,}-${escapeRegExp(slug)}$`);
174
175
  const collision = entries.find((e) => e.isDirectory() && slugRe.test(e.name));
175
176
  if (collision) {
176
- throw new Error(`A spec with slug "${slug}" already exists at ${collision.name}. Use a different --slug or delete the existing spec with \`planr spec destroy ${collision.name.split('-').slice(0, 2).join('-')}\`.`);
177
+ throw new Error(`A spec with slug "${slug}" already exists at ${collision.name}. Use a different --slug or delete the existing spec with \`${CLI_COMMAND} spec destroy ${collision.name.split('-').slice(0, 2).join('-')}\`.`);
177
178
  }
178
179
  }
179
180
  const id = (await reservePlanningIds(projectDir, config, { SPEC: 1 })).SPEC[0];
180
181
  const dirName = `${id}-${slug}`;
181
182
  const specDir = path.join(specsRoot, dirName);
182
183
  if (await fileExists(specDir)) {
183
- throw new Error(`Spec directory ${dirName} already exists. Use a different --slug or delete the existing spec with \`planr spec destroy ${id}\`.`);
184
+ throw new Error(`Spec directory ${dirName} already exists. Use a different --slug or delete the existing spec with \`${CLI_COMMAND} spec destroy ${id}\`.`);
184
185
  }
185
186
  await ensureDir(specDir);
186
187
  await ensureDir(getSpecStoriesDir(specDir));
@@ -316,7 +317,7 @@ function operatingOriginSection(input) {
316
317
  '',
317
318
  '### Continue in Operate',
318
319
  '',
319
- `Run ${markdownCode(`planr operate dashboard ${origin.cycleId} --actor <authorizedActorId>`)}, then [open this Action in Planning](${actionPath}).`,
320
+ `Run ${markdownCode(`${CLI_COMMAND} operate dashboard ${origin.cycleId} --actor <authorizedActorId>`)}, then [open this Action in Planning](${actionPath}).`,
320
321
  ].join('\n');
321
322
  }
322
323
  /**
@@ -512,30 +513,34 @@ export async function syncSpec(projectDir, config, specId, opts = {}) {
512
513
  }
513
514
  }
514
515
  // ── Check 3: missing specId in US/Task frontmatter ────────────────────
515
- // (auto-fixable; fix from path)
516
+ // (auto-fixable; inserted after the id line so the rest of the frontmatter keeps its formatting)
516
517
  const fs = await import('node:fs/promises');
517
- for (const s of stories) {
518
- const raw = await readFile(s.filePath);
519
- if (!/^specId:\s*"/m.test(raw)) {
520
- if (!opts.dryRun) {
521
- const insertion = `\nspecId: "${specId}"`;
522
- const fixedContent = raw.replace(/^id:\s*"[^"]+"$/m, (m) => m + insertion);
523
- await fs.writeFile(s.filePath, fixedContent);
524
- }
525
- fixed.push(`Story ${s.id}: added missing specId frontmatter${opts.dryRun ? ' [dry-run]' : ''}.`);
518
+ const addMissingSpecId = async (label, filePath) => {
519
+ const raw = await readFile(filePath);
520
+ let declared;
521
+ try {
522
+ declared = parseMarkdown(raw).data.specId;
526
523
  }
527
- }
528
- for (const t of tasks) {
529
- const raw = await readFile(t.filePath);
530
- if (!/^specId:\s*"/m.test(raw)) {
531
- if (!opts.dryRun) {
532
- const insertion = `\nspecId: "${specId}"`;
533
- const fixedContent = raw.replace(/^id:\s*"[^"]+"$/m, (m) => m + insertion);
534
- await fs.writeFile(t.filePath, fixedContent);
535
- }
536
- fixed.push(`Task ${t.id}: added missing specId frontmatter${opts.dryRun ? ' [dry-run]' : ''}.`);
524
+ catch (error) {
525
+ const reason = error instanceof Error ? error.message : String(error);
526
+ warnings.push(`${label} frontmatter is not valid YAML (${reason}); specId was not checked.`);
527
+ return;
537
528
  }
538
- }
529
+ if (typeof declared === 'string')
530
+ return;
531
+ const fixedContent = raw.replace(/^id:[^\S\n]*\S.*$/m, (line) => `${line}\nspecId: "${specId}"`);
532
+ if (parseMarkdown(fixedContent).data.specId !== specId) {
533
+ warnings.push(`${label} has no specId and no frontmatter id line to add it after; add specId: "${specId}" by hand.`);
534
+ return;
535
+ }
536
+ if (!opts.dryRun)
537
+ await fs.writeFile(filePath, fixedContent);
538
+ fixed.push(`${label}: added missing specId frontmatter${opts.dryRun ? ' [dry-run]' : ''}.`);
539
+ };
540
+ for (const s of stories)
541
+ await addMissingSpecId(`Story ${s.id}`, s.filePath);
542
+ for (const t of tasks)
543
+ await addMissingSpecId(`Task ${t.id}`, t.filePath);
539
544
  // ── Check 4: schema version drift ─────────────────────────────────────
540
545
  const CURRENT_SCHEMA_VERSION = '1.7.0';
541
546
  const specSchemaVersion = typeof spec.data.schemaVersion === 'string' ? spec.data.schemaVersion : null;
@@ -561,31 +566,6 @@ export async function syncAllSpecs(projectDir, config, opts = {}) {
561
566
  }
562
567
  return { specsScanned: specs.length, reports };
563
568
  }
564
- async function resolveDesignContext(projectDir, spec) {
565
- const designDir = getSpecDesignDir(spec.specDir);
566
- const designSpecPath = path.join(designDir, 'design-spec.md');
567
- const hasDesignSpec = await fileExists(designSpecPath);
568
- const pngFiles = (await listFiles(designDir, /\.png$/iu)).sort();
569
- const declaredUiFiles = Array.isArray(spec.data.ui_files)
570
- ? spec.data.ui_files.filter((file) => typeof file === 'string' && file.trim().length > 0)
571
- : [];
572
- const sections = [];
573
- if (declaredUiFiles.length > 0) {
574
- sections.push(`Declared UI files:\n${declaredUiFiles.map((file) => `- ${file}`).join('\n')}`);
575
- }
576
- if (pngFiles.length > 0) {
577
- sections.push(`PNG inputs present:\n${pngFiles
578
- .map((file) => `- ${path.relative(projectDir, path.join(designDir, file))}`)
579
- .join('\n')}`);
580
- }
581
- if (hasDesignSpec) {
582
- sections.push(`Design specification (${path.relative(projectDir, designSpecPath)}):\n${await readFile(designSpecPath)}`);
583
- }
584
- return {
585
- hasDesign: declaredUiFiles.length > 0 || pngFiles.length > 0 || hasDesignSpec,
586
- ...(sections.length > 0 ? { context: sections.join('\n\n') } : {}),
587
- };
588
- }
589
569
  function specTaskInput(aiTask, storyId, taskIdMap, acceptanceCriteria) {
590
570
  const acceptanceRefs = [...aiTask.acceptanceRefs];
591
571
  const knownAcceptance = new Set(acceptanceCriteria.map(({ id }) => id));
@@ -794,32 +774,20 @@ function invalidDecomposition(message) {
794
774
  }
795
775
  /**
796
776
  * Enforce the deterministic parts of the planning contract before any story or
797
- * task is written. Semantic dependency need is established by the prompt; this
777
+ * task is written. Semantic decomposition is established by the host agent; this
798
778
  * boundary verifies that the declared graph is addressable and executable.
799
779
  */
800
- function validateDecompositionContract(stories, hasDesign) {
780
+ function validateDecompositionContract(stories) {
801
781
  const flattened = [];
802
782
  for (const [storyIndex, story] of stories.entries()) {
803
783
  const location = `story ${storyIndex + 1} (${story.title})`;
804
- if (hasDesign) {
805
- if (story.tasks.length !== 2) {
806
- throw invalidDecomposition(`${location} must contain exactly two tasks because design context exists: UI then Tech.`);
807
- }
808
- const [uiTask, techTask] = story.tasks;
809
- if (uiTask.type !== 'UI' || uiTask.agent !== 'frontend-agent') {
810
- throw invalidDecomposition(`${location} task 1 must use type UI with frontend-agent when design context exists.`);
811
- }
812
- if (techTask.type !== 'Tech' || techTask.agent !== 'backend-agent') {
813
- throw invalidDecomposition(`${location} task 2 must use type Tech with backend-agent.`);
814
- }
784
+ if (story.tasks.length === 0) {
785
+ throw invalidDecomposition(`${location} must contain at least one task.`);
815
786
  }
816
- else {
817
- if (story.tasks.length !== 1) {
818
- throw invalidDecomposition(`${location} must contain exactly one Tech task because no design context exists.`);
819
- }
820
- const [techTask] = story.tasks;
821
- if (techTask.type !== 'Tech' || techTask.agent !== 'backend-agent') {
822
- throw invalidDecomposition(`${location} must use type Tech with backend-agent when no design context exists.`);
787
+ for (const task of story.tasks) {
788
+ const expectedAgent = task.type === 'UI' ? 'frontend-agent' : 'backend-agent';
789
+ if (task.agent !== expectedAgent) {
790
+ throw invalidDecomposition(`${location} task ${task.id} uses type ${task.type} with ${task.agent}; expected ${expectedAgent}.`);
823
791
  }
824
792
  }
825
793
  flattened.push(...story.tasks);
@@ -887,10 +855,8 @@ export async function decomposeSpec(projectDir, config, specId, opts = {}) {
887
855
  error.code = 'E_HOST_AGENT_REQUIRED';
888
856
  throw error;
889
857
  }
890
- // Resolve design context for deterministic one-vs-two task validation.
891
- const design = await resolveDesignContext(projectDir, spec);
892
858
  const result = opts.decomposition;
893
- validateDecompositionContract(result.stories, design.hasDesign);
859
+ validateDecompositionContract(result.stories);
894
860
  const flatTasks = result.stories.flatMap((story) => story.tasks);
895
861
  const counts = { US: result.stories.length, T: flatTasks.length };
896
862
  const allocation = opts.preview
@@ -1156,7 +1122,7 @@ export function parseProfessionalSpecAnswers(value) {
1156
1122
  }
1157
1123
  /**
1158
1124
  * Re-render the SPEC body from a structured set of answers and write it back
1159
- * atomically. Preserves frontmatter values that the user (or `planr spec
1125
+ * atomically. Preserves frontmatter values that the user (or `openplanr spec
1160
1126
  * create`) already set: priority, milestone, po, ui_files, created, etc.
1161
1127
  *
1162
1128
  * Updates `status` to `shaping` so subsequent commands (`decompose`, `promote`)
@@ -1567,7 +1533,7 @@ export async function validateSpecForPromotion(projectDir, config, specId) {
1567
1533
  }
1568
1534
  // Spec body should be non-trivial (> placeholder)
1569
1535
  if (spec.content.trim().length < 100) {
1570
- issues.push(`Spec body is very short (< 100 chars). Run \`planr spec shape ${specId}\` to flesh it out.`);
1536
+ issues.push(`Spec body is very short (< 100 chars). Run \`${CLI_COMMAND} spec shape ${specId}\` to flesh it out.`);
1571
1537
  }
1572
1538
  const specificationContract = spec.data.specificationContract;
1573
1539
  if (specificationContract !== undefined &&