openplanr 3.2.0 → 3.3.0

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 (231) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cli/commands/spec.d.ts +2 -1
  3. package/dist/cli/commands/spec.d.ts.map +1 -1
  4. package/dist/cli/commands/spec.js +45 -5
  5. package/dist/cli/commands/spec.js.map +1 -1
  6. package/dist/dashboard/.vite/manifest.json +1 -1
  7. package/dist/dashboard/assets/index-B_96uzCl.js +572 -0
  8. package/dist/dashboard/assets/index-B_96uzCl.js.map +1 -0
  9. package/dist/dashboard/dashboard-manifest.json +10 -10
  10. package/dist/dashboard/index.html +1 -1
  11. package/dist/services/claude-plugin-service.d.ts +5 -0
  12. package/dist/services/claude-plugin-service.d.ts.map +1 -1
  13. package/dist/services/claude-plugin-service.js +18 -2
  14. package/dist/services/claude-plugin-service.js.map +1 -1
  15. package/dist/services/codex-plugin-service.d.ts.map +1 -1
  16. package/dist/services/codex-plugin-service.js +11 -3
  17. package/dist/services/codex-plugin-service.js.map +1 -1
  18. package/dist/services/runtime-manager/codex-discovery.d.ts +1 -3
  19. package/dist/services/runtime-manager/codex-discovery.d.ts.map +1 -1
  20. package/dist/services/runtime-manager/codex-discovery.js +3 -16
  21. package/dist/services/runtime-manager/codex-discovery.js.map +1 -1
  22. package/dist/services/runtime-manager/doctor.d.ts +25 -0
  23. package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
  24. package/dist/services/runtime-manager/doctor.js +480 -0
  25. package/dist/services/runtime-manager/doctor.js.map +1 -1
  26. package/dist/services/runtime-manager/errors.d.ts +12 -0
  27. package/dist/services/runtime-manager/errors.d.ts.map +1 -0
  28. package/dist/services/runtime-manager/errors.js +14 -0
  29. package/dist/services/runtime-manager/errors.js.map +1 -0
  30. package/dist/services/runtime-manager/global-state.d.ts +7 -0
  31. package/dist/services/runtime-manager/global-state.d.ts.map +1 -1
  32. package/dist/services/runtime-manager/global-state.js +116 -0
  33. package/dist/services/runtime-manager/global-state.js.map +1 -1
  34. package/dist/services/runtime-manager/host-version-probe.d.ts +8 -0
  35. package/dist/services/runtime-manager/host-version-probe.d.ts.map +1 -0
  36. package/dist/services/runtime-manager/host-version-probe.js +14 -0
  37. package/dist/services/runtime-manager/host-version-probe.js.map +1 -0
  38. package/dist/services/runtime-manager/install-plan.d.ts +25 -0
  39. package/dist/services/runtime-manager/install-plan.d.ts.map +1 -1
  40. package/dist/services/runtime-manager/install-plan.js +305 -0
  41. package/dist/services/runtime-manager/install-plan.js.map +1 -1
  42. package/dist/services/runtime-manager/inventory.d.ts +6 -0
  43. package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
  44. package/dist/services/runtime-manager/inventory.js +16 -1
  45. package/dist/services/runtime-manager/inventory.js.map +1 -1
  46. package/dist/services/runtime-manager/legacy-adapters.d.ts +9 -0
  47. package/dist/services/runtime-manager/legacy-adapters.d.ts.map +1 -0
  48. package/dist/services/runtime-manager/legacy-adapters.js +187 -0
  49. package/dist/services/runtime-manager/legacy-adapters.js.map +1 -0
  50. package/dist/services/runtime-manager/paths.d.ts +18 -0
  51. package/dist/services/runtime-manager/paths.d.ts.map +1 -0
  52. package/dist/services/runtime-manager/paths.js +83 -0
  53. package/dist/services/runtime-manager/paths.js.map +1 -0
  54. package/dist/services/runtime-manager/runtime-package.d.ts +21 -0
  55. package/dist/services/runtime-manager/runtime-package.d.ts.map +1 -1
  56. package/dist/services/runtime-manager/runtime-package.js +77 -0
  57. package/dist/services/runtime-manager/runtime-package.js.map +1 -1
  58. package/dist/services/runtime-manager/storage.d.ts +47 -0
  59. package/dist/services/runtime-manager/storage.d.ts.map +1 -0
  60. package/dist/services/runtime-manager/storage.js +604 -0
  61. package/dist/services/runtime-manager/storage.js.map +1 -0
  62. package/dist/services/runtime-manager-service.d.ts +7 -17
  63. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  64. package/dist/services/runtime-manager-service.js +32 -1695
  65. package/dist/services/runtime-manager-service.js.map +1 -1
  66. package/dist/services/ship-checks/contract.d.ts +13 -1
  67. package/dist/services/ship-checks/contract.d.ts.map +1 -1
  68. package/dist/services/ship-checks/contract.js +1 -1
  69. package/dist/services/ship-checks/contract.js.map +1 -1
  70. package/dist/services/ship-checks/coverage.d.ts +4 -0
  71. package/dist/services/ship-checks/coverage.d.ts.map +1 -0
  72. package/dist/services/ship-checks/coverage.js +113 -0
  73. package/dist/services/ship-checks/coverage.js.map +1 -0
  74. package/dist/services/ship-checks/discover.d.ts.map +1 -1
  75. package/dist/services/ship-checks/discover.js +3 -0
  76. package/dist/services/ship-checks/discover.js.map +1 -1
  77. package/dist/services/spec-service.d.ts +18 -0
  78. package/dist/services/spec-service.d.ts.map +1 -1
  79. package/dist/services/spec-service.js +174 -9
  80. package/dist/services/spec-service.js.map +1 -1
  81. package/dist/templates/spec/spec-shaped.md.hbs +1 -1
  82. package/dist/templates/spec/spec.md.hbs +2 -2
  83. package/docs/CLI.md +49 -2
  84. package/lib/host-packages/adapter-registry.json +5 -5
  85. package/lib/host-packages/capability-map.json +3 -3
  86. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  87. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  88. package/lib/host-packages/claude/openplanr/.openplanr-content.json +50 -46
  89. package/lib/host-packages/claude/openplanr/README.md +1 -1
  90. package/lib/host-packages/claude/openplanr/agents/planr-qa.md +5 -3
  91. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-document.mjs +87 -2
  92. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-handoff.mjs +1 -1
  93. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +1 -1
  94. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +102 -9
  95. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +130 -1
  96. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design.mjs +271 -28
  97. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -32
  98. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +77 -1
  99. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +4 -4
  100. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
  101. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
  102. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
  103. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
  104. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
  105. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
  106. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
  107. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
  108. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +2 -2
  109. package/lib/host-packages/{cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0 → claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +131 -4
  110. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
  111. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +78 -1
  112. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +30 -2
  113. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +2 -2
  114. package/lib/host-packages/claude/openplanr/skills/design/references/design-system.md +17 -2
  115. package/lib/host-packages/claude/openplanr/skills/design/references/generation.md +60 -2
  116. package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +11 -1
  117. package/lib/host-packages/claude/openplanr/skills/design/schemas/design-document.schema.json +131 -4
  118. package/lib/host-packages/claude/openplanr/skills/design-loop/references/design-system.md +17 -2
  119. package/lib/host-packages/claude/openplanr/skills/design-loop/references/generation.md +60 -2
  120. package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +11 -1
  121. package/lib/host-packages/claude/openplanr/skills/design-loop/schemas/design-document.schema.json +131 -4
  122. package/lib/host-packages/claude/openplanr/skills/design-review/references/design-system.md +17 -2
  123. package/lib/host-packages/claude/openplanr/skills/design-review/references/generation.md +60 -2
  124. package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +11 -1
  125. package/lib/host-packages/claude/openplanr/skills/design-review/schemas/design-document.schema.json +131 -4
  126. package/lib/host-packages/claude/openplanr/skills/investigate/SKILL.md +1 -1
  127. package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +21 -11
  128. package/lib/host-packages/claude/openplanr/skills/plan/schemas/design-document.schema.json +131 -4
  129. package/lib/host-packages/claude/openplanr/skills/ship/SKILL.md +31 -10
  130. package/lib/host-packages/claude/openplanr/skills/spec/SKILL.md +6 -0
  131. package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +3 -1
  132. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +48 -44
  133. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  134. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/design-system.md +17 -2
  135. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/generation.md +60 -2
  136. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +11 -1
  137. package/lib/host-packages/cursor/openplanr/rules/planr-design/schemas/design-document.schema.json +131 -4
  138. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/design-system.md +17 -2
  139. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/generation.md +60 -2
  140. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +11 -1
  141. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/schemas/design-document.schema.json +131 -4
  142. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/design-system.md +17 -2
  143. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/generation.md +60 -2
  144. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +11 -1
  145. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/schemas/design-document.schema.json +131 -4
  146. package/lib/host-packages/cursor/openplanr/rules/planr-investigate.mdc +1 -1
  147. package/lib/host-packages/cursor/openplanr/rules/planr-plan/schemas/design-document.schema.json +131 -4
  148. package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +21 -11
  149. package/lib/host-packages/cursor/openplanr/rules/planr-ship.mdc +31 -10
  150. package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +3 -1
  151. package/lib/host-packages/cursor/openplanr/rules/planr-spec.mdc +6 -0
  152. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-document.mjs +87 -2
  153. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-handoff.mjs +1 -1
  154. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +1 -1
  155. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +102 -9
  156. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +130 -1
  157. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design.mjs +271 -28
  158. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -32
  159. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +77 -1
  160. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +4 -4
  161. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
  162. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
  163. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
  164. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
  165. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
  166. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
  167. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
  168. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
  169. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +2 -2
  170. package/lib/host-packages/{openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0 → cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +131 -4
  171. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
  172. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +78 -1
  173. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +30 -2
  174. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +2 -2
  175. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  176. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  177. package/lib/host-packages/openai/openplanr/.openplanr-content.json +54 -50
  178. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-document.mjs +87 -2
  179. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-handoff.mjs +1 -1
  180. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +1 -1
  181. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +102 -9
  182. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +130 -1
  183. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design.mjs +271 -28
  184. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -32
  185. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +77 -1
  186. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +4 -4
  187. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
  188. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
  189. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
  190. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
  191. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
  192. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
  193. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
  194. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
  195. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +2 -2
  196. package/lib/host-packages/{claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0 → openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +131 -4
  197. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
  198. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +78 -1
  199. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +30 -2
  200. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +2 -2
  201. package/lib/host-packages/openai/openplanr/skills/design/references/design-system.md +17 -2
  202. package/lib/host-packages/openai/openplanr/skills/design/references/generation.md +60 -2
  203. package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +11 -1
  204. package/lib/host-packages/openai/openplanr/skills/design/schemas/design-document.schema.json +131 -4
  205. package/lib/host-packages/openai/openplanr/skills/design-loop/references/design-system.md +17 -2
  206. package/lib/host-packages/openai/openplanr/skills/design-loop/references/generation.md +60 -2
  207. package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +11 -1
  208. package/lib/host-packages/openai/openplanr/skills/design-loop/schemas/design-document.schema.json +131 -4
  209. package/lib/host-packages/openai/openplanr/skills/design-review/references/design-system.md +17 -2
  210. package/lib/host-packages/openai/openplanr/skills/design-review/references/generation.md +60 -2
  211. package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +11 -1
  212. package/lib/host-packages/openai/openplanr/skills/design-review/schemas/design-document.schema.json +131 -4
  213. package/lib/host-packages/openai/openplanr/skills/investigate/SKILL.md +1 -1
  214. package/lib/host-packages/openai/openplanr/skills/investigate/agents/openai.yaml +1 -1
  215. package/lib/host-packages/openai/openplanr/skills/investigate/openplanr.skill.json +1 -1
  216. package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +21 -11
  217. package/lib/host-packages/openai/openplanr/skills/plan/openplanr.skill.json +1 -1
  218. package/lib/host-packages/openai/openplanr/skills/plan/schemas/design-document.schema.json +131 -4
  219. package/lib/host-packages/openai/openplanr/skills/ship/SKILL.md +31 -10
  220. package/lib/host-packages/openai/openplanr/skills/ship/agents/openai.yaml +1 -1
  221. package/lib/host-packages/openai/openplanr/skills/ship/openplanr.skill.json +1 -1
  222. package/lib/host-packages/openai/openplanr/skills/spec/SKILL.md +6 -0
  223. package/lib/host-packages/openai/openplanr/skills/spec/openplanr.skill.json +1 -1
  224. package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +3 -1
  225. package/lib/json-schema.mjs +4 -0
  226. package/package.json +12 -12
  227. package/dist/dashboard/assets/index-L8qtwqv6.js +0 -572
  228. package/dist/dashboard/assets/index-L8qtwqv6.js.map +0 -1
  229. /package/lib/host-packages/claude/openplanr/runtime/design/scripts/{design-runtime-support-6774fd3d5d02.mjs → design-runtime-support-25485dbf1cb2.mjs} +0 -0
  230. /package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-runtime-support-6774fd3d5d02.mjs → design-runtime-support-25485dbf1cb2.mjs} +0 -0
  231. /package/lib/host-packages/openai/openplanr/runtime/design/scripts/{design-runtime-support-6774fd3d5d02.mjs → design-runtime-support-25485dbf1cb2.mjs} +0 -0
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://openplanr.dev/schemas/v1.20.0/design-document.schema.json",
3
+ "$id": "https://openplanr.dev/schemas/v1.22.0/design-document.schema.json",
4
4
  "x-openplanr-contract": {
5
5
  "id": "design-document",
6
- "version": "1.20.0"
6
+ "version": "1.22.0"
7
7
  },
8
8
  "title": "OpenPlanr authored design document",
9
9
  "type": "object",
@@ -26,7 +26,10 @@
26
26
  "const": "openplanr-design-document"
27
27
  },
28
28
  "schemaVersion": {
29
- "const": "1.0.0"
29
+ "enum": [
30
+ "1.0.0",
31
+ "1.1.0"
32
+ ]
30
33
  },
31
34
  "id": {
32
35
  "$ref": "#/$defs/id"
@@ -158,6 +161,66 @@
158
161
  },
159
162
  "anchors": {
160
163
  "$ref": "#/$defs/ids"
164
+ },
165
+ "props": {
166
+ "type": "object",
167
+ "propertyNames": {
168
+ "type": "string",
169
+ "minLength": 1,
170
+ "maxLength": 128,
171
+ "pattern": "^[a-z][a-z0-9-]*(?![\\s\\S])"
172
+ },
173
+ "additionalProperties": {
174
+ "oneOf": [
175
+ {
176
+ "type": "object",
177
+ "additionalProperties": false,
178
+ "required": [
179
+ "type",
180
+ "options",
181
+ "default"
182
+ ],
183
+ "properties": {
184
+ "type": {
185
+ "const": "enum"
186
+ },
187
+ "options": {
188
+ "type": "array",
189
+ "minItems": 1,
190
+ "uniqueItems": true,
191
+ "items": {
192
+ "type": "string",
193
+ "minLength": 1,
194
+ "maxLength": 128,
195
+ "pattern": "^[a-z][a-z0-9-]*(?![\\s\\S])"
196
+ }
197
+ },
198
+ "default": {
199
+ "type": "string",
200
+ "minLength": 1,
201
+ "maxLength": 128,
202
+ "pattern": "^[a-z][a-z0-9-]*(?![\\s\\S])"
203
+ }
204
+ }
205
+ },
206
+ {
207
+ "type": "object",
208
+ "additionalProperties": false,
209
+ "required": [
210
+ "type",
211
+ "default"
212
+ ],
213
+ "properties": {
214
+ "type": {
215
+ "const": "boolean"
216
+ },
217
+ "default": {
218
+ "type": "boolean"
219
+ }
220
+ }
221
+ }
222
+ ]
223
+ }
161
224
  }
162
225
  }
163
226
  }
@@ -232,6 +295,34 @@
232
295
  "additionalProperties": {
233
296
  "$ref": "#/$defs/source"
234
297
  }
298
+ },
299
+ "props": {
300
+ "type": "object",
301
+ "propertyNames": {
302
+ "$ref": "#/$defs/id"
303
+ },
304
+ "additionalProperties": {
305
+ "type": "object",
306
+ "propertyNames": {
307
+ "type": "string",
308
+ "minLength": 1,
309
+ "maxLength": 128,
310
+ "pattern": "^[a-z][a-z0-9-]*(?![\\s\\S])"
311
+ },
312
+ "additionalProperties": {
313
+ "anyOf": [
314
+ {
315
+ "type": "string",
316
+ "minLength": 1,
317
+ "maxLength": 128,
318
+ "pattern": "^[a-z][a-z0-9-]*(?![\\s\\S])"
319
+ },
320
+ {
321
+ "type": "boolean"
322
+ }
323
+ ]
324
+ }
325
+ }
235
326
  }
236
327
  },
237
328
  "if": {
@@ -375,5 +466,41 @@
375
466
  "minimum": -10000000,
376
467
  "maximum": 10000000
377
468
  }
378
- }
469
+ },
470
+ "allOf": [
471
+ {
472
+ "if": {
473
+ "properties": {
474
+ "schemaVersion": {
475
+ "const": "1.1.0"
476
+ }
477
+ },
478
+ "required": [
479
+ "schemaVersion"
480
+ ]
481
+ },
482
+ "else": {
483
+ "properties": {
484
+ "screens": {
485
+ "items": {
486
+ "not": {
487
+ "required": [
488
+ "props"
489
+ ]
490
+ }
491
+ }
492
+ },
493
+ "variants": {
494
+ "items": {
495
+ "not": {
496
+ "required": [
497
+ "props"
498
+ ]
499
+ }
500
+ }
501
+ }
502
+ }
503
+ }
504
+ }
505
+ ]
379
506
  }
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: ship
3
- description: Implement an OpenPlanr plan, specification, task, or clearly stated request end to end in the current repository. Use when the user asks to build, implement, fix, finish, or ship local work.
3
+ description: Implement an OpenPlanr plan, specification, task, or clearly stated request end to end in the current repository. Use when the user asks to build, implement, fix, finish, or ship local work, or to plan and implement an accepted change. Invoke before editing files for the requested change. Not for planning only, landing, release, or work handed to another coding agent.
4
4
  license: MIT
5
5
  ---
6
6
 
7
7
  # OpenPlanr Ship
8
8
 
9
- Produce an implementation-complete local repository in this active coding
10
- session. Landing and release preparation belong to `planr-land`. Ordinary
9
+ Produce an implementation-complete local repository in this active coding session.
10
+ Landing and release preparation belong to `planr-land`. Ordinary
11
11
  Ship stays host-native. Do not delegate implementation to a command-line or model subprocess. If the user explicitly asks another coding agent to implement,
12
12
  hand off to `planr-delegate` before implementation. That separate opt-in workflow
13
13
  previews the selected context, writable repository, profile, and destination;
@@ -40,13 +40,34 @@ context is sufficient; missing planning files do not create a gate.
40
40
 
41
41
  ## Implement with native roles
42
42
 
43
- Use the host's read, edit, shell, browser, and test capabilities. When native
44
- agents are available, dispatch only the applicable frontend, backend, database,
45
- QA, DevOps, and documentation roles inside this session. Give each role its
46
- owned outcome, relevant context paths, and explicit file coordination boundary.
47
- Run independent work in parallel. Host-native role agents remain part of this
48
- Ship session and do not invoke the separate `planr-delegate` helper. When native
49
- agents are unavailable, perform the same lenses sequentially in the active agent.
43
+ The main session owns scope, decisions, integration, and final verification.
44
+ Use the host's read, edit, shell, browser, and test capabilities inside this session.
45
+ Keep small coherent changes in this session. Delegate only a self-contained
46
+ outcome that benefits from context isolation, a distinct capability boundary,
47
+ or independent parallel work; agent availability alone is not a reason to dispatch.
48
+
49
+ Frontend and backend own substantial bounded implementation assignments.
50
+ Persistence implementation, including a task carrying the legacy `db-agent`
51
+ identity, belongs to backend with the relevant database guidance; preserve the
52
+ task's recorded identity. Database is optional read-only introspection when
53
+ repository schemas are insufficient, never migration implementation. Keep small
54
+ documentation updates with their implementation; delegate substantial documentation
55
+ or requested configuration work separately. DevOps never deploys. Entity
56
+ scaffolding remains manual, on explicit request.
57
+
58
+ Use a separate QA reviewer for authorization, credentials, data-loss risk,
59
+ migrations, public contracts, release behavior, or substantial delegated
60
+ implementation. Small low-risk edits use focused verification in the main session.
61
+ QA retains verification tools, subject to role policy and session permissions.
62
+
63
+ Select the exact registered identity from the host's roster; Claude plugin
64
+ agents use names such as `planr:planr-backend` and `planr:planr-qa`. Give each worker
65
+ its outcome, authoritative paths, relevant decisions, file ownership, verification
66
+ requirements, and concise return expectations. Parallel workers need disjoint
67
+ writes or an agreed interface. Explain the delegation's purpose briefly in
68
+ commentary. Host-native workers do not invoke the separate `planr-delegate` helper.
69
+ When the host lacks the native role, perform the work sequentially in this session
70
+ and disclose capability limitations; never claim an unavailable specialist ran.
50
71
 
51
72
  Integrate the complete change, then verify behavior. `reviewRisks` and
52
73
  `browserSurfaces` select useful checks; empty arrays are normal and neither field
@@ -1,6 +1,6 @@
1
1
  interface:
2
2
  display_name: "OpenPlanr Ship"
3
3
  short_description: "Implement an OpenPlanr plan, specification, task, or clearly…"
4
- default_prompt: "Use $planr:ship to implement an OpenPlanr plan, specification, task, or clearly stated request end to end in the current repository. Use when the user asks to build, implement, fix, finish, or ship local work."
4
+ default_prompt: "Use $planr:ship to implement an OpenPlanr plan, specification, task, or clearly stated request end to end in the current repository. Use when the user asks to build, implement, fix, finish, or ship local work, or to plan and implement an accepted change. Invoke before editing files for the requested change. Not for planning only, landing, release, or work handed to another coding agent."
5
5
  policy:
6
6
  allow_implicit_invocation: true
@@ -3,7 +3,7 @@
3
3
  "schemaVersion": "1.0.0",
4
4
  "protocolVersion": "1.8.0",
5
5
  "skillId": "planr-ship",
6
- "skillVersion": "1.2.1",
6
+ "skillVersion": "1.4.0",
7
7
  "entrypoint": "SKILL.md",
8
8
  "hosts": [
9
9
  "claude-code",
@@ -23,6 +23,12 @@ mutually exclusive questions at once and put the recommended option first. If
23
23
  the host lacks that interface, ask one concise chat question. Do not present a
24
24
  long prose questionnaire.
25
25
 
26
+ If no one can answer, as in a headless run, do not ask: choose the
27
+ repository-backed default, or the recommended one when the repository does not
28
+ settle it, and record each such choice as a bullet starting `Assumption:` under
29
+ `## Notes for Decomposition`, naming the decision and the alternative not taken.
30
+ Record a decision you settle inside a functional requirement the same way.
31
+
26
32
  When native agents are available, use the specification role to consolidate the
27
33
  contract and dispatch database or designer roles only when their lens affects
28
34
  the decision. Otherwise perform those lenses sequentially in the active agent.
@@ -3,7 +3,7 @@
3
3
  "schemaVersion": "1.0.0",
4
4
  "protocolVersion": "1.8.0",
5
5
  "skillId": "planr-spec",
6
- "skillVersion": "1.0.1",
6
+ "skillVersion": "1.0.2",
7
7
  "entrypoint": "SKILL.md",
8
8
  "hosts": [
9
9
  "claude-code",
@@ -30,7 +30,9 @@ template:
30
30
 
31
31
  Keep evidence and rollback as useful planning context, not approval gates or
32
32
  receipt requirements. A risk-specialist section may be empty when no specialist
33
- lens applies.
33
+ lens applies. Under `## Notes for Decomposition`, list each decision made without
34
+ an answer as a bullet starting `Assumption:` that names the decision and the
35
+ alternative not taken.
34
36
 
35
37
  For a repository intentionally using default mode, write
36
38
  `input/specs/spec-{slug}.md` and preserve its active schema. Do not create a
@@ -68,6 +68,7 @@ const VALIDATION_KEYWORDS = [
68
68
  'maxContains',
69
69
  'required',
70
70
  'properties',
71
+ 'propertyNames',
71
72
  'additionalProperties',
72
73
  'maxProperties',
73
74
  'dependentRequired',
@@ -156,6 +157,7 @@ const KEYWORD_SHAPES = {
156
157
  maxContains: ['a non-negative integer', isCount],
157
158
  required: ['an array of unique strings', isUniqueStrings],
158
159
  properties: ['an object of schemas', isSchemaMap],
160
+ propertyNames: ['a schema', isSchema],
159
161
  additionalProperties: ['a schema', isSchema],
160
162
  maxProperties: ['a non-negative integer', isCount],
161
163
  dependentRequired: [
@@ -463,6 +465,8 @@ const validateNode = (value, schema, path, errs, context) => {
463
465
  }
464
466
  const props = schema.properties || {};
465
467
  for (const [k, v] of Object.entries(value)) {
468
+ if (schema.propertyNames !== undefined)
469
+ validateNode(k, schema.propertyNames, `${path}.${k}`, errs, context);
466
470
  if (Object.hasOwn(props, k)) evaluated.add(k);
467
471
  else if (schema.additionalProperties !== undefined) evaluated.add(k);
468
472
  if (!Object.hasOwn(props, k)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openplanr",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "Deterministic OpenPlanr utilities for planning storage, validation, rendering, setup, diagnostics, and GitHub/Linear synchronization",
5
5
  "type": "module",
6
6
  "main": "./dist/cli/index.js",
@@ -103,7 +103,7 @@
103
103
  "url": "https://github.com/openplanr/OpenPlanr/issues"
104
104
  },
105
105
  "dependencies": {
106
- "@inquirer/prompts": "^8.7.3",
106
+ "@inquirer/prompts": "^8.7.4",
107
107
  "@linear/sdk": "^65.2.0",
108
108
  "@napi-rs/keyring": "^1.2.0",
109
109
  "chalk": "^5.3.0",
@@ -111,19 +111,19 @@
111
111
  "handlebars": "4.7.10",
112
112
  "smol-toml": "1.9.1",
113
113
  "yaml": "^2.8.3",
114
- "zod": "^4.6.6"
114
+ "zod": "^4.6.7"
115
115
  },
116
116
  "optionalDependencies": {
117
- "planr-pipeline": "0.60.0"
117
+ "planr-pipeline": "0.61.0"
118
118
  },
119
119
  "devDependencies": {
120
- "@biomejs/biome": "^2.5.15",
120
+ "@biomejs/biome": "^2.6.2",
121
121
  "@changesets/cli": "^3.0.3",
122
122
  "@tailwindcss/vite": "4.3.3",
123
- "@tanstack/react-query": "5.104.2",
123
+ "@tanstack/react-query": "5.104.5",
124
124
  "@testing-library/dom": "10.4.2",
125
125
  "@testing-library/react": "16.3.3",
126
- "@testing-library/user-event": "14.6.7",
126
+ "@testing-library/user-event": "14.6.8",
127
127
  "@types/node": "^25.5.0",
128
128
  "@types/react": "^19.3.0",
129
129
  "@types/react-dom": "^19.3.0",
@@ -131,18 +131,18 @@
131
131
  "class-variance-authority": "0.7.1",
132
132
  "clsx": "2.1.1",
133
133
  "axe-core": "4.14.0",
134
- "lucide-react": "1.55.0",
134
+ "lucide-react": "1.61.0",
135
135
  "tsx": "^4.23.15",
136
- "radix-ui": "1.8.0",
137
- "react": "19.3.0",
138
- "react-dom": "19.3.0",
136
+ "radix-ui": "1.8.1",
137
+ "react": "19.3.1",
138
+ "react-dom": "19.3.1",
139
139
  "react-router": "7.18.3",
140
140
  "tailwindcss": "4.3.3",
141
141
  "tailwind-merge": "3.7.0",
142
142
  "tw-animate-css": "1.4.0",
143
143
  "typescript": "^6.0.2",
144
144
  "vite": "6.4.5",
145
- "@playwright/test": "1.64.0"
145
+ "@playwright/test": "1.64.1"
146
146
  },
147
147
  "overrides": {
148
148
  "@changesets/parse": {