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
@@ -156,6 +156,7 @@ var VALIDATION_KEYWORDS = [
156
156
  "maxContains",
157
157
  "required",
158
158
  "properties",
159
+ "propertyNames",
159
160
  "additionalProperties",
160
161
  "maxProperties",
161
162
  "dependentRequired",
@@ -224,6 +225,7 @@ var KEYWORD_SHAPES = {
224
225
  maxContains: ["a non-negative integer", isCount],
225
226
  required: ["an array of unique strings", isUniqueStrings],
226
227
  properties: ["an object of schemas", isSchemaMap],
228
+ propertyNames: ["a schema", isSchema],
227
229
  additionalProperties: ["a schema", isSchema],
228
230
  maxProperties: ["a non-negative integer", isCount],
229
231
  dependentRequired: [
@@ -492,6 +494,8 @@ var validateNode = (value, schema6, path, errs, context) => {
492
494
  }
493
495
  const props = schema6.properties || {};
494
496
  for (const [k, v] of Object.entries(value)) {
497
+ if (schema6.propertyNames !== void 0)
498
+ validateNode(k, schema6.propertyNames, `${path}.${k}`, errs, context);
495
499
  if (Object.hasOwn(props, k)) evaluated.add(k);
496
500
  else if (schema6.additionalProperties !== void 0) evaluated.add(k);
497
501
  if (!Object.hasOwn(props, k)) {
@@ -4552,7 +4556,7 @@ var DESIGN_DOCUMENT_V1_SCHEMA = freeze({
4552
4556
  }
4553
4557
  }
4554
4558
  });
4555
- var DESIGN_DOCUMENT_SCHEMA = freeze({
4559
+ var DESIGN_DOCUMENT_V120_SCHEMA = freeze({
4556
4560
  ...DESIGN_DOCUMENT_V1_SCHEMA,
4557
4561
  $id: "https://openplanr.dev/schemas/v1.20.0/design-document.schema.json",
4558
4562
  "x-openplanr-contract": { id: "design-document", version: "1.20.0" },
@@ -4611,6 +4615,78 @@ var DESIGN_DOCUMENT_SCHEMA = freeze({
4611
4615
  coordinate: { type: "number", minimum: -1e7, maximum: 1e7 }
4612
4616
  }
4613
4617
  });
4618
+ var PROP_TOKEN_SCHEMA = {
4619
+ type: "string",
4620
+ minLength: 1,
4621
+ maxLength: 128,
4622
+ pattern: "^[a-z][a-z0-9-]*(?![\\s\\S])"
4623
+ };
4624
+ var propTokenPattern = new RegExp(PROP_TOKEN_SCHEMA.pattern, "u");
4625
+ var currentDocument = (
4626
+ /** @type {{ properties: Record<string, unknown>; [key: string]: unknown }} */
4627
+ structuredClone(DESIGN_DOCUMENT_V120_SCHEMA)
4628
+ );
4629
+ currentDocument.$id = "https://openplanr.dev/schemas/v1.22.0/design-document.schema.json";
4630
+ currentDocument["x-openplanr-contract"] = { id: "design-document", version: "1.22.0" };
4631
+ currentDocument.properties.schemaVersion = { enum: ["1.0.0", "1.1.0"] };
4632
+ var screenSchema = (
4633
+ /** @type {{ items: { properties: Record<string, unknown> } }} */
4634
+ currentDocument.properties.screens
4635
+ );
4636
+ screenSchema.items.properties.props = {
4637
+ type: "object",
4638
+ propertyNames: PROP_TOKEN_SCHEMA,
4639
+ additionalProperties: {
4640
+ oneOf: [
4641
+ {
4642
+ type: "object",
4643
+ additionalProperties: false,
4644
+ required: ["type", "options", "default"],
4645
+ properties: {
4646
+ type: { const: "enum" },
4647
+ options: {
4648
+ type: "array",
4649
+ minItems: 1,
4650
+ uniqueItems: true,
4651
+ items: PROP_TOKEN_SCHEMA
4652
+ },
4653
+ default: PROP_TOKEN_SCHEMA
4654
+ }
4655
+ },
4656
+ {
4657
+ type: "object",
4658
+ additionalProperties: false,
4659
+ required: ["type", "default"],
4660
+ properties: { type: { const: "boolean" }, default: { type: "boolean" } }
4661
+ }
4662
+ ]
4663
+ }
4664
+ };
4665
+ var variantSchema = (
4666
+ /** @type {{ items: { properties: Record<string, unknown> } }} */
4667
+ currentDocument.properties.variants
4668
+ );
4669
+ variantSchema.items.properties.props = {
4670
+ type: "object",
4671
+ propertyNames: { $ref: "#/$defs/id" },
4672
+ additionalProperties: {
4673
+ type: "object",
4674
+ propertyNames: PROP_TOKEN_SCHEMA,
4675
+ additionalProperties: { anyOf: [PROP_TOKEN_SCHEMA, { type: "boolean" }] }
4676
+ }
4677
+ };
4678
+ currentDocument.allOf = [
4679
+ {
4680
+ if: { properties: { schemaVersion: { const: "1.1.0" } }, required: ["schemaVersion"] },
4681
+ else: {
4682
+ properties: {
4683
+ screens: { items: { not: { required: ["props"] } } },
4684
+ variants: { items: { not: { required: ["props"] } } }
4685
+ }
4686
+ }
4687
+ }
4688
+ ];
4689
+ var DESIGN_DOCUMENT_SCHEMA = freeze(currentDocument);
4614
4690
 
4615
4691
  // packages/protocol/src/workspace-contracts.mjs
4616
4692
  var DESIGN_WORKSPACE_VERSION = "1.0.0";
@@ -5385,6 +5461,7 @@ export {
5385
5461
  canonicalizeJson,
5386
5462
  assertPlainData,
5387
5463
  validateJson,
5464
+ DESIGN_DOCUMENT_V120_SCHEMA,
5388
5465
  DESIGN_DOCUMENT_SCHEMA,
5389
5466
  DESIGN_REVIEW_BUNDLE_SCHEMA,
5390
5467
  LARGE_OBJECT_LIMITS
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  DESIGN_DOCUMENT_SCHEMA,
4
+ DESIGN_DOCUMENT_V120_SCHEMA,
4
5
  DESIGN_REVIEW_BUNDLE_SCHEMA,
5
6
  LARGE_OBJECT_LIMITS,
6
7
  assertPlainData,
@@ -382,13 +383,40 @@ var currentDesign = (
382
383
  );
383
384
  for (const key of ["frames", "layout"])
384
385
  currentDesign.properties[key] = /** @type {Record<string, unknown>} */
385
- DESIGN_DOCUMENT_SCHEMA.properties[key];
386
- bundleCurrent.$defs = structuredClone(DESIGN_DOCUMENT_SCHEMA.$defs);
386
+ DESIGN_DOCUMENT_V120_SCHEMA.properties[key];
387
+ bundleCurrent.$defs = structuredClone(DESIGN_DOCUMENT_V120_SCHEMA.$defs);
387
388
  var currentEntries = (
388
389
  /** @type {{ items: { properties: Record<string, unknown> } }} */
389
390
  bundleCurrent.properties.entries
390
391
  );
391
392
  currentEntries.items.properties.height = { const: "auto" };
393
+ var bundleProps = (
394
+ /** @type {MutableSchema} */
395
+ structuredClone(bundleCurrent)
396
+ );
397
+ bundleProps.$id = "https://openplanr.dev/schemas/v1.22.0/design-review-bundle.schema.json";
398
+ bundleProps["x-openplanr-contract"] = { id: "design-review-bundle", version: "1.22.0" };
399
+ var propsDesign = (
400
+ /** @type {MutableSchema} */
401
+ bundleProps.properties.design
402
+ );
403
+ var authoredProperties = (
404
+ /** @type {Record<string, unknown>} */
405
+ DESIGN_DOCUMENT_SCHEMA.properties
406
+ );
407
+ propsDesign.properties.schemaVersion = authoredProperties.schemaVersion;
408
+ for (const key of ["screens", "variants"]) {
409
+ const projected = (
410
+ /** @type {{ items: { properties: Record<string, unknown> } }} */
411
+ propsDesign.properties[key]
412
+ );
413
+ const authored = (
414
+ /** @type {{ items: { properties: Record<string, unknown> } }} */
415
+ authoredProperties[key]
416
+ );
417
+ projected.items.properties.props = authored.items.properties.props;
418
+ }
419
+ propsDesign.allOf = structuredClone(DESIGN_DOCUMENT_SCHEMA.allOf);
392
420
  var item = closed(
393
421
  {
394
422
  pinId: id,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openplanr/protocol",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "type": "module",
5
5
  "description": "Canonical OpenPlanr schemas, registries, typed errors, and portable contract validation",
6
6
  "license": "MIT",
@@ -153,7 +153,7 @@
153
153
  "devDependencies": {
154
154
  "esbuild": "0.28.2",
155
155
  "miniflare": "4.20260730.0",
156
- "playwright": "1.64.0",
156
+ "playwright": "1.64.1",
157
157
  "typescript": "6.0.2"
158
158
  }
159
159
  }
@@ -4,14 +4,14 @@
4
4
  "name": "OpenPlanr"
5
5
  },
6
6
  "metadata": {
7
- "version": "3.2.0",
7
+ "version": "3.3.0",
8
8
  "description": "Generated local OpenPlanr package."
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "planr",
13
13
  "source": "./openplanr",
14
- "version": "3.2.0",
14
+ "version": "3.3.0",
15
15
  "description": "Close the loop from intent to delivery. Plan, design, build, review, and operate from durable context in your repository.",
16
16
  "strict": true
17
17
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "planr",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "Close the loop from intent to delivery. Plan, design, build, review, and operate from durable context in your repository.",
5
5
  "author": {
6
6
  "name": "OpenPlanr",
@@ -8,7 +8,7 @@
8
8
  "files": [
9
9
  {
10
10
  "path": ".codex-plugin/plugin.json",
11
- "digest": "sha256:b4fde3df938f216892a965a74836603e5852a6589381b1bb2c4a6a570c283f42"
11
+ "digest": "sha256:15b212916d6d496f7bbb1d1f14d1c224bcfe25a675e6d6ad1da3637bace571e0"
12
12
  },
13
13
  {
14
14
  "path": "CONNECTORS.md",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  {
34
34
  "path": "runtime/design/scripts/design-document.mjs",
35
- "digest": "sha256:8cae4875f680ffe897f85fc1b80617666e788f3ed4562b9fdac8169edcba0d37"
35
+ "digest": "sha256:265390be5971cb170bfa3bbe85073d95d3a03fdcad5ad2d6885863ed92636d7c"
36
36
  },
37
37
  {
38
38
  "path": "runtime/design/scripts/design-encrypted-workspace-client.mjs",
@@ -44,7 +44,7 @@
44
44
  },
45
45
  {
46
46
  "path": "runtime/design/scripts/design-handoff.mjs",
47
- "digest": "sha256:8e45824f88347a7a4ab52275892008c100d61c475757237d33b992a4a60dc1b5"
47
+ "digest": "sha256:1d24e4ebd3bff99f3dd5e2fa8cab17971bbc4acb10cc416a0e1a1e4af584f0ee"
48
48
  },
49
49
  {
50
50
  "path": "runtime/design/scripts/design-loopback-server.mjs",
@@ -75,7 +75,7 @@
75
75
  "digest": "sha256:c338765d9f5746bf375377bdd25e94490ac31985bab0b0335e49f9faadb5c08b"
76
76
  },
77
77
  {
78
- "path": "runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs",
78
+ "path": "runtime/design/scripts/design-runtime-support-25485dbf1cb2.mjs",
79
79
  "digest": "sha256:6fd1b789adf2cfcf742602f1faa6a0d0835f2bc5cc2afa6e153424be68892fa2"
80
80
  },
81
81
  {
@@ -84,11 +84,11 @@
84
84
  },
85
85
  {
86
86
  "path": "runtime/design/scripts/design-share.mjs",
87
- "digest": "sha256:e49918e85add71f33816f9c6ed9a23681e05402653dae2115def9f5b10377c5f"
87
+ "digest": "sha256:9d859c41f2b7a049650f15bc67620a8e9e473dc1dfea57b6b6eae11a47bada6c"
88
88
  },
89
89
  {
90
90
  "path": "runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs",
91
- "digest": "sha256:537ee60fa2074aee17fb4d07da158e703333ecebdcd77d40b8daedba1e112ad3"
91
+ "digest": "sha256:f2e1cd55ff19cb6127d02f3b2cd86fdcc5737432b3f59420707b86181c6963f9"
92
92
  },
93
93
  {
94
94
  "path": "runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs",
@@ -100,7 +100,7 @@
100
100
  },
101
101
  {
102
102
  "path": "runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs",
103
- "digest": "sha256:abad366dbe146014a6e9c536cda124d48c81cfb8f6cc9f2d5d2a411324f2593f"
103
+ "digest": "sha256:93c1762353ebe32d886bbb2fef3f2a72cfbf8e139973eec88f4f6b8f10d8e503"
104
104
  },
105
105
  {
106
106
  "path": "runtime/design/scripts/design-upload-spool.mjs",
@@ -108,11 +108,11 @@
108
108
  },
109
109
  {
110
110
  "path": "runtime/design/scripts/design.mjs",
111
- "digest": "sha256:ae7a24327bf4e277f7630554252b704281061c60ef848a3103deda62556166be"
111
+ "digest": "sha256:6feea162e96236d2392162831e660a2fd5e908b2c67bf64bea89bbcb8dd41467"
112
112
  },
113
113
  {
114
114
  "path": "runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt",
115
- "digest": "sha256:66a4b5b0ce31ce6c5a5ea43c17dea76a48df6a1bcf5c2cd6b187b2b6c210143c"
115
+ "digest": "sha256:c780d6f2609e544d086bc236c27f408fcd736d3a9ea91175c8ed674cfd0a4b0b"
116
116
  },
117
117
  {
118
118
  "path": "runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css",
@@ -120,7 +120,7 @@
120
120
  },
121
121
  {
122
122
  "path": "runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json",
123
- "digest": "sha256:2975ec9e87c3d158949c2608f0aec6251041dfe455e5cd1efe3df1c794097d69"
123
+ "digest": "sha256:d2b6a89cfd25803e4fb266a2747c373f701955519f50e90e0f441fc8c5b10876"
124
124
  },
125
125
  {
126
126
  "path": "runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/01-module-runtime.js",
@@ -132,7 +132,7 @@
132
132
  },
133
133
  {
134
134
  "path": "runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js",
135
- "digest": "sha256:c5ecc1e13bc56b399f69808c609b21f69865ff134e50a8b4898dd8a93bd582ef"
135
+ "digest": "sha256:fbf069e668fecf9519cab318f88033b106b93933ea0788f2c4c8cf8374c35e38"
136
136
  },
137
137
  {
138
138
  "path": "runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js",
@@ -156,7 +156,7 @@
156
156
  },
157
157
  {
158
158
  "path": "runtime/design/scripts/runtime/packages/design/package.json",
159
- "digest": "sha256:95a28ec13aa6fb8fcea651b9916cf260c939dfb443e724d54147e6b255258707"
159
+ "digest": "sha256:f7841eedc349c4011fad6eaa9d571b3508cf867d57d8c4917eee37da45f03715"
160
160
  },
161
161
  {
162
162
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/enhancements.css",
@@ -180,7 +180,7 @@
180
180
  },
181
181
  {
182
182
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json",
183
- "digest": "sha256:0bab5c7c73247098c4636be1ee97c4b6258d0f7bc1517ad4d10a194284dc1f6a"
183
+ "digest": "sha256:883c094162afc18637301227f2093c0582110a798006c5f0ec2884021fca249b"
184
184
  },
185
185
  {
186
186
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/01-module-runtime.js",
@@ -188,7 +188,7 @@
188
188
  },
189
189
  {
190
190
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js",
191
- "digest": "sha256:cb3eafecfffc8532216b7bcd71bac6afea5b3fb7f8b0887da140e11c0006cd11"
191
+ "digest": "sha256:a71e51391e9b730dd958c618d78eca7f08afdba44c6deaec659cc74407f60a62"
192
192
  },
193
193
  {
194
194
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js",
@@ -216,7 +216,7 @@
216
216
  },
217
217
  {
218
218
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js",
219
- "digest": "sha256:8c81399ccb8a52f0c5e3eca3e49c53dda63e3f954e816c8c0ee94f9a3d2d40f6"
219
+ "digest": "sha256:7e5c20997dc0ec69609fa5983db9daf426ab2e4da798969be45bc037cb6285d6"
220
220
  },
221
221
  {
222
222
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/10-react.js",
@@ -228,11 +228,11 @@
228
228
  },
229
229
  {
230
230
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js",
231
- "digest": "sha256:4007bd14b7bddf0b26803697eaf2f107d4f9806acd612c12d24b493d6f265a53"
231
+ "digest": "sha256:b94ce32e28be39b4c0c524039f27302c38402ea16cbb37845d6fbda2e83350ce"
232
232
  },
233
233
  {
234
234
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js",
235
- "digest": "sha256:9f1e3e4bee690452ca512fbfcec4777244bd773cb1177fb19263f54def48722d"
235
+ "digest": "sha256:84f4fe26fdd473a8858766a433986cc60e60639906da15a0f3244c4b5a5adc5f"
236
236
  },
237
237
  {
238
238
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-studio-shell.js",
@@ -240,7 +240,7 @@
240
240
  },
241
241
  {
242
242
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js",
243
- "digest": "sha256:5d29bb88f041c9fad393491becc097198e0ce965a1bbc8cb0b410e17bfad6b70"
243
+ "digest": "sha256:457b785e01410722ba42aa372ac2b1e82f73fdc134a6d1c4d068bd16cd83c230"
244
244
  },
245
245
  {
246
246
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-design-review-experience.js",
@@ -264,11 +264,11 @@
264
264
  },
265
265
  {
266
266
  "path": "runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js",
267
- "digest": "sha256:d99e4aede54009be49bec6d7244b35578469d43330f261cbf0f05dac0ae40bee"
267
+ "digest": "sha256:672d0395a9d1016f511f3b8dd6b23c1015958a97e54a83e51af2f39b53222236"
268
268
  },
269
269
  {
270
270
  "path": "runtime/design/scripts/runtime/packages/protocol/package.json",
271
- "digest": "sha256:e2b8a258f17377977d71366a18abda7e42250d67ff527f2f597c531d500aa312"
271
+ "digest": "sha256:cdb21a973cfb6bcccded6c16893a777022ad3a12ac281f31dbb68f750edfc5e8"
272
272
  },
273
273
  {
274
274
  "path": "runtime/design/scripts/runtime/packages/protocol/registries/artifact-theme.json",
@@ -335,8 +335,12 @@
335
335
  "digest": "sha256:f5616731ad5bb0399514e1cd36f6ffbaf9adaa1b378107b677b857f6312dfa52"
336
336
  },
337
337
  {
338
- "path": "runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0/design-document.schema.json",
339
- "digest": "sha256:9782c8c130b19f7c47b17ec59a216f4699e3a6f3b81120ecc0442d2576d58fa2"
338
+ "path": "runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-document.schema.json",
339
+ "digest": "sha256:33d74abce73ec6631ee1a4f5037bb49571f81cedaebac5bf37d77d91a170b507"
340
+ },
341
+ {
342
+ "path": "runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json",
343
+ "digest": "sha256:92e42b05c54f7773f89e93de45fad1c6bfc4027160079d52dcabe59fc0612933"
340
344
  },
341
345
  {
342
346
  "path": "runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-bundle.schema.json",
@@ -376,11 +380,11 @@
376
380
  },
377
381
  {
378
382
  "path": "runtime/plan/scripts/design-protocol-contracts.mjs",
379
- "digest": "sha256:02a346c16d4b088e8381193460809cf8434e3116de8249b9e364de9c43fe974e"
383
+ "digest": "sha256:464568c1e8ab14b139812192519b303f06db5c1ccbcc1e8ad5c0d65ceca98f76"
380
384
  },
381
385
  {
382
386
  "path": "runtime/plan/scripts/design.mjs",
383
- "digest": "sha256:7e1379e8a1f2900f45fb75f8dc30faba06511d2d0eaae9cb9588db3d79de127c"
387
+ "digest": "sha256:6f91123bee5568d9e2ede49e5f90fb7919fddfd8e9f108db8c941a86311890dd"
384
388
  },
385
389
  {
386
390
  "path": "runtime/plan/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt",
@@ -388,7 +392,7 @@
388
392
  },
389
393
  {
390
394
  "path": "runtime/plan/scripts/runtime/packages/protocol/package.json",
391
- "digest": "sha256:e2b8a258f17377977d71366a18abda7e42250d67ff527f2f597c531d500aa312"
395
+ "digest": "sha256:cdb21a973cfb6bcccded6c16893a777022ad3a12ac281f31dbb68f750edfc5e8"
392
396
  },
393
397
  {
394
398
  "path": "runtime/plan/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-review.schema.json",
@@ -740,7 +744,7 @@
740
744
  },
741
745
  {
742
746
  "path": "skills/design-loop/references/design-system.md",
743
- "digest": "sha256:d97ad4aca7c6a21d2e6208620d928beb3e34eac4460c64943b33f5835f9b432f"
747
+ "digest": "sha256:558a165a070b31bba66b81c77eeb86b935a09dcbad9939f37fc580e3f301a1a6"
744
748
  },
745
749
  {
746
750
  "path": "skills/design-loop/references/discovery.md",
@@ -748,7 +752,7 @@
748
752
  },
749
753
  {
750
754
  "path": "skills/design-loop/references/generation.md",
751
- "digest": "sha256:4837ad37da9a028e92b63611f81bb764f5fb7818a8ba25df0b21a5ac276ae71a"
755
+ "digest": "sha256:ad4c1fc6589e4566a8b6ecdf86dd3f0c87db7d663c480d6c6a77d61502975094"
752
756
  },
753
757
  {
754
758
  "path": "skills/design-loop/references/handoff.md",
@@ -764,11 +768,11 @@
764
768
  },
765
769
  {
766
770
  "path": "skills/design-loop/references/utilities.md",
767
- "digest": "sha256:bcb057b0599bf48cee3d2955808c6f3ab6377b8d520f1981782b7353cb22ba6a"
771
+ "digest": "sha256:6f5d0067a9fe75d30994c4bbddec91135d93f3dacb70f43add3b2ad17f1144ad"
768
772
  },
769
773
  {
770
774
  "path": "skills/design-loop/schemas/design-document.schema.json",
771
- "digest": "sha256:9782c8c130b19f7c47b17ec59a216f4699e3a6f3b81120ecc0442d2576d58fa2"
775
+ "digest": "sha256:33d74abce73ec6631ee1a4f5037bb49571f81cedaebac5bf37d77d91a170b507"
772
776
  },
773
777
  {
774
778
  "path": "skills/design-loop/schemas/design-review-context.schema.json",
@@ -804,7 +808,7 @@
804
808
  },
805
809
  {
806
810
  "path": "skills/design-review/references/design-system.md",
807
- "digest": "sha256:d97ad4aca7c6a21d2e6208620d928beb3e34eac4460c64943b33f5835f9b432f"
811
+ "digest": "sha256:558a165a070b31bba66b81c77eeb86b935a09dcbad9939f37fc580e3f301a1a6"
808
812
  },
809
813
  {
810
814
  "path": "skills/design-review/references/discovery.md",
@@ -812,7 +816,7 @@
812
816
  },
813
817
  {
814
818
  "path": "skills/design-review/references/generation.md",
815
- "digest": "sha256:4837ad37da9a028e92b63611f81bb764f5fb7818a8ba25df0b21a5ac276ae71a"
819
+ "digest": "sha256:ad4c1fc6589e4566a8b6ecdf86dd3f0c87db7d663c480d6c6a77d61502975094"
816
820
  },
817
821
  {
818
822
  "path": "skills/design-review/references/handoff.md",
@@ -828,11 +832,11 @@
828
832
  },
829
833
  {
830
834
  "path": "skills/design-review/references/utilities.md",
831
- "digest": "sha256:bcb057b0599bf48cee3d2955808c6f3ab6377b8d520f1981782b7353cb22ba6a"
835
+ "digest": "sha256:6f5d0067a9fe75d30994c4bbddec91135d93f3dacb70f43add3b2ad17f1144ad"
832
836
  },
833
837
  {
834
838
  "path": "skills/design-review/schemas/design-document.schema.json",
835
- "digest": "sha256:9782c8c130b19f7c47b17ec59a216f4699e3a6f3b81120ecc0442d2576d58fa2"
839
+ "digest": "sha256:33d74abce73ec6631ee1a4f5037bb49571f81cedaebac5bf37d77d91a170b507"
836
840
  },
837
841
  {
838
842
  "path": "skills/design-review/schemas/design-review-context.schema.json",
@@ -868,7 +872,7 @@
868
872
  },
869
873
  {
870
874
  "path": "skills/design/references/design-system.md",
871
- "digest": "sha256:d97ad4aca7c6a21d2e6208620d928beb3e34eac4460c64943b33f5835f9b432f"
875
+ "digest": "sha256:558a165a070b31bba66b81c77eeb86b935a09dcbad9939f37fc580e3f301a1a6"
872
876
  },
873
877
  {
874
878
  "path": "skills/design/references/discovery.md",
@@ -876,7 +880,7 @@
876
880
  },
877
881
  {
878
882
  "path": "skills/design/references/generation.md",
879
- "digest": "sha256:4837ad37da9a028e92b63611f81bb764f5fb7818a8ba25df0b21a5ac276ae71a"
883
+ "digest": "sha256:ad4c1fc6589e4566a8b6ecdf86dd3f0c87db7d663c480d6c6a77d61502975094"
880
884
  },
881
885
  {
882
886
  "path": "skills/design/references/handoff.md",
@@ -896,11 +900,11 @@
896
900
  },
897
901
  {
898
902
  "path": "skills/design/references/utilities.md",
899
- "digest": "sha256:bcb057b0599bf48cee3d2955808c6f3ab6377b8d520f1981782b7353cb22ba6a"
903
+ "digest": "sha256:6f5d0067a9fe75d30994c4bbddec91135d93f3dacb70f43add3b2ad17f1144ad"
900
904
  },
901
905
  {
902
906
  "path": "skills/design/schemas/design-document.schema.json",
903
- "digest": "sha256:9782c8c130b19f7c47b17ec59a216f4699e3a6f3b81120ecc0442d2576d58fa2"
907
+ "digest": "sha256:33d74abce73ec6631ee1a4f5037bb49571f81cedaebac5bf37d77d91a170b507"
904
908
  },
905
909
  {
906
910
  "path": "skills/design/schemas/design-review-context.schema.json",
@@ -964,11 +968,11 @@
964
968
  },
965
969
  {
966
970
  "path": "skills/investigate/agents/openai.yaml",
967
- "digest": "sha256:f9248c50312de3fced05e1f550ad9a539d8fbb97f62335f00d55cb0e08bb091c"
971
+ "digest": "sha256:a351007ce74261258a793cb856e3f3a279f49054a9d441fc051f61ce9904f29a"
968
972
  },
969
973
  {
970
974
  "path": "skills/investigate/openplanr.skill.json",
971
- "digest": "sha256:ad1422ac497f638b739d362a93af8eddc9cd0634c8a737a2c408023bd5cb9797"
975
+ "digest": "sha256:eb14795cb0e58a28178aaead5e2737c191f981f0da182cabeeeb99d7c45d87f4"
972
976
  },
973
977
  {
974
978
  "path": "skills/investigate/references/findings.md",
@@ -980,7 +984,7 @@
980
984
  },
981
985
  {
982
986
  "path": "skills/investigate/SKILL.md",
983
- "digest": "sha256:26c361a3851a2d7edb17156546d16e3811925f8d990b8a75643d0995b79f4d05"
987
+ "digest": "sha256:2f3426737579e889e35d4d7c03ca112a268f550ed1290ffa9b6d947f94522b4a"
984
988
  },
985
989
  {
986
990
  "path": "skills/land/agents/openai.yaml",
@@ -1040,7 +1044,7 @@
1040
1044
  },
1041
1045
  {
1042
1046
  "path": "skills/plan/openplanr.skill.json",
1043
- "digest": "sha256:0f6731b1c4838af9f93477aafe754dcc96228067b7d8d7625f61658b8932f4a9"
1047
+ "digest": "sha256:e8c99328f94d04c47aabac80c85dd4422f220036fee675bea6fc5979e1338df6"
1044
1048
  },
1045
1049
  {
1046
1050
  "path": "skills/plan/references/artifact-contract.md",
@@ -1052,7 +1056,7 @@
1052
1056
  },
1053
1057
  {
1054
1058
  "path": "skills/plan/schemas/design-document.schema.json",
1055
- "digest": "sha256:9782c8c130b19f7c47b17ec59a216f4699e3a6f3b81120ecc0442d2576d58fa2"
1059
+ "digest": "sha256:33d74abce73ec6631ee1a4f5037bb49571f81cedaebac5bf37d77d91a170b507"
1056
1060
  },
1057
1061
  {
1058
1062
  "path": "skills/plan/schemas/design-review-context.schema.json",
@@ -1072,7 +1076,7 @@
1072
1076
  },
1073
1077
  {
1074
1078
  "path": "skills/plan/SKILL.md",
1075
- "digest": "sha256:4fa07c960eb441671dbfe40e4a77d89a93acc2215066dc7841ab9e478ba56fe7"
1079
+ "digest": "sha256:64cb23d5e4e7fdd131d1284e18927a8d1dd2fbc34732c797b49ae0ab288bff19"
1076
1080
  },
1077
1081
  {
1078
1082
  "path": "skills/release/agents/openai.yaml",
@@ -1128,11 +1132,11 @@
1128
1132
  },
1129
1133
  {
1130
1134
  "path": "skills/ship/agents/openai.yaml",
1131
- "digest": "sha256:f084aa98cd3470deb54e535ed0b298bca82c91a1b7eff9700630e0d8bafb7c13"
1135
+ "digest": "sha256:884dab0cf43c9afb90944b40b529b8d1b6fa6f0b4f7d66ebc5d3a0a01e9a7d31"
1132
1136
  },
1133
1137
  {
1134
1138
  "path": "skills/ship/openplanr.skill.json",
1135
- "digest": "sha256:2fe2353469bb1fbb77029334fcc51b94240bb3baf56c69c5829b47908e2d7d33"
1139
+ "digest": "sha256:636a378452d54760d78c5fa5f361de0ced97035e41ba7f3e3361fd5ab5d8058d"
1136
1140
  },
1137
1141
  {
1138
1142
  "path": "skills/ship/references/design-lineage.md",
@@ -1156,7 +1160,7 @@
1156
1160
  },
1157
1161
  {
1158
1162
  "path": "skills/ship/SKILL.md",
1159
- "digest": "sha256:451319c5f71e05f05927c47e3edcf1fbba1892016d16eb74549b8af0ae5521f9"
1163
+ "digest": "sha256:e5fa1282a415e26c1463ed73c5d88ec69512080395d7fb385463d0bdff0a73ec"
1160
1164
  },
1161
1165
  {
1162
1166
  "path": "skills/spec/agents/openai.yaml",
@@ -1164,15 +1168,15 @@
1164
1168
  },
1165
1169
  {
1166
1170
  "path": "skills/spec/openplanr.skill.json",
1167
- "digest": "sha256:f4d06e96f07db140706108b16e0a48f377d1c50d170b0a0c1b4a93d7642a4fb6"
1171
+ "digest": "sha256:aaf4a2660b2310e312d6b9aa25a099ca4057c44129d634e2f45fbc8a7862c621"
1168
1172
  },
1169
1173
  {
1170
1174
  "path": "skills/spec/references/specification-contract.md",
1171
- "digest": "sha256:55ecc8361256073324d2507097862f6222589e22887dffe5b5e25cdc89199df5"
1175
+ "digest": "sha256:eaaf58e5d2e5cf788856c8d0e156a1ff49111d3578556bfb7c8fe2466df15b15"
1172
1176
  },
1173
1177
  {
1174
1178
  "path": "skills/spec/SKILL.md",
1175
- "digest": "sha256:1ff5c57c86757aaed8693a2bb448099f810d23a532f5ccdfd241e972c7e43d9a"
1179
+ "digest": "sha256:8da00648b861c64b675384fc0524f1c8b48cf5e245e23eb416e35519a44c9eba"
1176
1180
  },
1177
1181
  {
1178
1182
  "path": "skills/sprint/agents/openai.yaml",
@@ -1255,5 +1259,5 @@
1255
1259
  "digest": "sha256:79cb62f3f8b0c36ef55c9424ca694a37448f90170183d13d0654d500613da414"
1256
1260
  }
1257
1261
  ],
1258
- "contentDigest": "sha256:8317f59c24eb97e8a3062425e54ff0c62dcb6ece71b3be6ee91ebbb4a1263800"
1262
+ "contentDigest": "sha256:128ce5b5eca3e6f18e32e3ed3134dd643f11de839ce75f84d03e26623f7be683"
1259
1263
  }