@devtrack-solution/codesdd 1.2.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md +17 -17
  2. package/.sdd/skills/curated/devtrack-api/SKILL.md +160 -28
  3. package/.sdd/skills/curated/devtrack-api/agents/openai.yaml +1 -1
  4. package/.sdd/skills/curated/devtrack-api/references/architecture-governance.md +8 -7
  5. package/.sdd/skills/curated/devtrack-api/references/consumer-sync-policy.md +93 -0
  6. package/.sdd/skills/curated/devtrack-api/references/contract-pack.yaml +317 -0
  7. package/.sdd/skills/curated/devtrack-api/references/field-validation-protocol.md +95 -0
  8. package/.sdd/skills/curated/devtrack-api/references/foundation-layout.md +295 -0
  9. package/.sdd/skills/curated/devtrack-api/references/implementation-checklist.md +4 -4
  10. package/.sdd/skills/curated/devtrack-api/references/imports-lint.md +4 -0
  11. package/.sdd/skills/curated/devtrack-api/references/testing-validation.md +2 -2
  12. package/LICENSE +1 -1
  13. package/README.md +243 -51
  14. package/bin/codesdd.js +3 -2
  15. package/dist/cli/index.d.ts +2 -2
  16. package/dist/cli/index.js +11 -558
  17. package/dist/cli/program.d.ts +14 -0
  18. package/dist/cli/program.js +645 -0
  19. package/dist/commands/change.js +5 -5
  20. package/dist/commands/completion.d.ts +1 -1
  21. package/dist/commands/completion.js +9 -2
  22. package/dist/commands/config.js +159 -20
  23. package/dist/commands/feedback.js +1 -1
  24. package/dist/commands/schema.d.ts +63 -0
  25. package/dist/commands/schema.js +12 -12
  26. package/dist/commands/sdd/backlog.d.ts +3 -0
  27. package/dist/commands/sdd/backlog.js +54 -0
  28. package/dist/commands/sdd/execution.js +147 -16
  29. package/dist/commands/sdd/plugin.d.ts +3 -0
  30. package/dist/commands/sdd/plugin.js +153 -0
  31. package/dist/commands/sdd/shared.js +2 -23
  32. package/dist/commands/sdd/skills.js +7 -0
  33. package/dist/commands/sdd.js +69 -12
  34. package/dist/commands/spec.js +9 -9
  35. package/dist/commands/validate.js +6 -6
  36. package/dist/commands/workflow/instructions.js +6 -6
  37. package/dist/commands/workflow/new-change.js +3 -3
  38. package/dist/commands/workflow/shared.d.ts +1 -1
  39. package/dist/commands/workflow/shared.js +4 -4
  40. package/dist/core/archive.js +15 -5
  41. package/dist/core/artifact-graph/instruction-loader.d.ts +1 -1
  42. package/dist/core/artifact-graph/instruction-loader.js +3 -3
  43. package/dist/core/artifact-graph/resolver.d.ts +4 -4
  44. package/dist/core/artifact-graph/resolver.js +6 -6
  45. package/dist/core/branding.js +3 -3
  46. package/dist/core/cli/command-matrix.js +10 -1
  47. package/dist/core/cli-command-quality.d.ts +27 -0
  48. package/dist/core/cli-command-quality.js +171 -0
  49. package/dist/core/command-generation/adapters/costrict.d.ts +1 -1
  50. package/dist/core/command-generation/adapters/costrict.js +2 -2
  51. package/dist/core/command-generation/types.d.ts +1 -1
  52. package/dist/core/completions/command-registry.d.ts +1 -1
  53. package/dist/core/completions/command-registry.js +155 -12
  54. package/dist/core/completions/completion-provider.d.ts +14 -1
  55. package/dist/core/completions/completion-provider.js +29 -1
  56. package/dist/core/completions/generators/bash-generator.d.ts +1 -1
  57. package/dist/core/completions/generators/bash-generator.js +20 -12
  58. package/dist/core/completions/generators/fish-generator.d.ts +9 -1
  59. package/dist/core/completions/generators/fish-generator.js +39 -25
  60. package/dist/core/completions/generators/powershell-generator.d.ts +1 -1
  61. package/dist/core/completions/generators/powershell-generator.js +21 -11
  62. package/dist/core/completions/generators/zsh-generator.d.ts +3 -6
  63. package/dist/core/completions/generators/zsh-generator.js +21 -42
  64. package/dist/core/completions/installers/bash-installer.js +6 -6
  65. package/dist/core/completions/installers/fish-installer.js +1 -1
  66. package/dist/core/completions/installers/powershell-installer.js +14 -14
  67. package/dist/core/completions/installers/zsh-installer.d.ts +7 -1
  68. package/dist/core/completions/installers/zsh-installer.js +36 -8
  69. package/dist/core/completions/templates/bash-templates.d.ts +1 -1
  70. package/dist/core/completions/templates/bash-templates.js +12 -6
  71. package/dist/core/completions/templates/fish-templates.d.ts +2 -2
  72. package/dist/core/completions/templates/fish-templates.js +20 -9
  73. package/dist/core/completions/templates/powershell-templates.d.ts +1 -1
  74. package/dist/core/completions/templates/powershell-templates.js +13 -4
  75. package/dist/core/completions/templates/zsh-templates.d.ts +1 -1
  76. package/dist/core/completions/templates/zsh-templates.js +18 -9
  77. package/dist/core/config-schema.d.ts +3 -1
  78. package/dist/core/config-schema.js +26 -1
  79. package/dist/core/config.d.ts +3 -3
  80. package/dist/core/config.js +4 -4
  81. package/dist/core/global-config.d.ts +41 -12
  82. package/dist/core/global-config.js +344 -27
  83. package/dist/core/index.d.ts +1 -1
  84. package/dist/core/index.js +2 -2
  85. package/dist/core/init.d.ts +6 -1
  86. package/dist/core/init.js +99 -77
  87. package/dist/core/legacy-cleanup.d.ts +17 -17
  88. package/dist/core/legacy-cleanup.js +96 -79
  89. package/dist/core/list.js +18 -4
  90. package/dist/core/migration.d.ts +3 -1
  91. package/dist/core/migration.js +7 -8
  92. package/dist/core/parsers/change-parser.js +1 -1
  93. package/dist/core/parsers/markdown-parser.js +2 -2
  94. package/dist/core/profile-sync-drift.d.ts +1 -1
  95. package/dist/core/profile-sync-drift.js +13 -13
  96. package/dist/core/project-config.d.ts +4 -4
  97. package/dist/core/project-config.js +11 -11
  98. package/dist/core/schemas/change.schema.d.ts +1 -1
  99. package/dist/core/schemas/change.schema.js +1 -1
  100. package/dist/core/schemas/spec.schema.d.ts +1 -1
  101. package/dist/core/schemas/spec.schema.js +1 -1
  102. package/dist/core/sdd/adr.js +23 -1
  103. package/dist/core/sdd/agent-binding.d.ts +346 -0
  104. package/dist/core/sdd/agent-binding.js +343 -0
  105. package/dist/core/sdd/backlog-cli.d.ts +16 -0
  106. package/dist/core/sdd/backlog-cli.js +146 -0
  107. package/dist/core/sdd/backlog-conflict-policy.d.ts +58 -0
  108. package/dist/core/sdd/backlog-conflict-policy.js +230 -0
  109. package/dist/core/sdd/backlog-projection.d.ts +8 -0
  110. package/dist/core/sdd/backlog-projection.js +89 -0
  111. package/dist/core/sdd/backlog-provider-contract.d.ts +252 -0
  112. package/dist/core/sdd/backlog-provider-contract.js +158 -0
  113. package/dist/core/sdd/bootstrap.js +2 -2
  114. package/dist/core/sdd/check.d.ts +42 -0
  115. package/dist/core/sdd/check.js +22 -22
  116. package/dist/core/sdd/contract.d.ts +13 -0
  117. package/dist/core/sdd/contract.js +36 -0
  118. package/dist/core/sdd/coordination/coordination-adapters.d.ts +38 -0
  119. package/dist/core/sdd/coordination/coordination-adapters.js +139 -1
  120. package/dist/core/sdd/deepagent-contracts.d.ts +276 -0
  121. package/dist/core/sdd/deepagent-contracts.js +173 -0
  122. package/dist/core/sdd/deepagents/adr-governor.d.ts +2 -0
  123. package/dist/core/sdd/deepagents/adr-governor.js +30 -0
  124. package/dist/core/sdd/deepagents/backend.d.ts +63 -0
  125. package/dist/core/sdd/deepagents/backend.js +174 -0
  126. package/dist/core/sdd/deepagents/codesdd-tools.d.ts +39 -0
  127. package/dist/core/sdd/deepagents/codesdd-tools.js +83 -0
  128. package/dist/core/sdd/deepagents/evidence-mapper.d.ts +86 -0
  129. package/dist/core/sdd/deepagents/evidence-mapper.js +178 -0
  130. package/dist/core/sdd/deepagents/model-provider.d.ts +53 -0
  131. package/dist/core/sdd/deepagents/model-provider.js +379 -0
  132. package/dist/core/sdd/deepagents/policy-enforcement.d.ts +30 -0
  133. package/dist/core/sdd/deepagents/policy-enforcement.js +90 -0
  134. package/dist/core/sdd/deepagents/policy.d.ts +75 -0
  135. package/dist/core/sdd/deepagents/policy.js +358 -0
  136. package/dist/core/sdd/deepagents/quality-witness.d.ts +3 -0
  137. package/dist/core/sdd/deepagents/quality-witness.js +77 -0
  138. package/dist/core/sdd/deepagents/reversa-subagents.d.ts +75 -0
  139. package/dist/core/sdd/deepagents/reversa-subagents.js +182 -0
  140. package/dist/core/sdd/deepagents/runtime-factory.d.ts +90 -0
  141. package/dist/core/sdd/deepagents/runtime-factory.js +231 -0
  142. package/dist/core/sdd/deepagents/runtime-loader.d.ts +16 -0
  143. package/dist/core/sdd/deepagents/runtime-loader.js +65 -0
  144. package/dist/core/sdd/default-bootstrap-files.d.ts +2 -2
  145. package/dist/core/sdd/default-bootstrap-files.js +36 -2
  146. package/dist/core/sdd/default-skills.d.ts +30 -0
  147. package/dist/core/sdd/default-skills.js +181 -5
  148. package/dist/core/sdd/devtrack-api-appliance.d.ts +84 -0
  149. package/dist/core/sdd/devtrack-api-appliance.js +257 -0
  150. package/dist/core/sdd/devtrack-api-architecture.d.ts +31 -0
  151. package/dist/core/sdd/devtrack-api-architecture.js +608 -0
  152. package/dist/core/sdd/devtrack-api-import-boundary.d.ts +19 -0
  153. package/dist/core/sdd/devtrack-api-import-boundary.js +32 -0
  154. package/dist/core/sdd/diagnose.d.ts +59 -0
  155. package/dist/core/sdd/diagnose.js +37 -37
  156. package/dist/core/sdd/docs-sync.js +33 -5
  157. package/dist/core/sdd/domain/post-active-validation.d.ts +7 -0
  158. package/dist/core/sdd/domain/post-active-validation.js +61 -0
  159. package/dist/core/sdd/domain/transition-engine.js +1 -0
  160. package/dist/core/sdd/entity-reference.d.ts +5 -0
  161. package/dist/core/sdd/entity-reference.js +22 -0
  162. package/dist/core/sdd/governance-backfill.d.ts +31 -0
  163. package/dist/core/sdd/governance-backfill.js +359 -0
  164. package/dist/core/sdd/governance-parser.d.ts +21 -0
  165. package/dist/core/sdd/governance-parser.js +91 -0
  166. package/dist/core/sdd/governance-schemas.d.ts +245 -0
  167. package/dist/core/sdd/governance-schemas.js +143 -0
  168. package/dist/core/sdd/{import-openspec.d.ts → import-legacy-spec.d.ts} +7 -7
  169. package/dist/core/sdd/{import-openspec.js → import-legacy-spec.js} +21 -29
  170. package/dist/core/sdd/init.d.ts +3 -0
  171. package/dist/core/sdd/init.js +6 -3
  172. package/dist/core/sdd/json-schema.js +100 -6
  173. package/dist/core/sdd/knowledge-graph.d.ts +45 -0
  174. package/dist/core/sdd/knowledge-graph.js +288 -0
  175. package/dist/core/sdd/legacy-operations.js +431 -43
  176. package/dist/core/sdd/lenses.d.ts +1 -0
  177. package/dist/core/sdd/lenses.js +29 -1
  178. package/dist/core/sdd/migrate-workspace.js +56 -2
  179. package/dist/core/sdd/migrate.d.ts +1 -1
  180. package/dist/core/sdd/migrate.js +36 -2
  181. package/dist/core/sdd/package-structure-gate.d.ts +83 -0
  182. package/dist/core/sdd/package-structure-gate.js +362 -0
  183. package/dist/core/sdd/parallel-feat-automation.d.ts +152 -0
  184. package/dist/core/sdd/parallel-feat-automation.js +212 -0
  185. package/dist/core/sdd/plugin-broker.d.ts +558 -0
  186. package/dist/core/sdd/plugin-broker.js +482 -0
  187. package/dist/core/sdd/plugin-certification.d.ts +79 -0
  188. package/dist/core/sdd/plugin-certification.js +453 -0
  189. package/dist/core/sdd/plugin-cli.d.ts +109 -0
  190. package/dist/core/sdd/plugin-cli.js +198 -0
  191. package/dist/core/sdd/plugin-evidence.d.ts +275 -0
  192. package/dist/core/sdd/plugin-evidence.js +307 -0
  193. package/dist/core/sdd/plugin-manifest.d.ts +164 -0
  194. package/dist/core/sdd/plugin-manifest.js +215 -0
  195. package/dist/core/sdd/plugin-policy-pack.d.ts +88 -0
  196. package/dist/core/sdd/plugin-policy-pack.js +236 -0
  197. package/dist/core/sdd/plugin-policy.d.ts +68 -0
  198. package/dist/core/sdd/plugin-policy.js +212 -0
  199. package/dist/core/sdd/plugin-registry.d.ts +311 -0
  200. package/dist/core/sdd/plugin-registry.js +138 -0
  201. package/dist/core/sdd/plugin-skill-binding.d.ts +151 -0
  202. package/dist/core/sdd/plugin-skill-binding.js +339 -0
  203. package/dist/core/sdd/quality-artifact-manifest-validator.d.ts +28 -0
  204. package/dist/core/sdd/quality-artifact-manifest-validator.js +167 -0
  205. package/dist/core/sdd/quality-evidence-renderer.d.ts +65 -0
  206. package/dist/core/sdd/quality-evidence-renderer.js +218 -0
  207. package/dist/core/sdd/quality-scenario-runner.d.ts +42 -0
  208. package/dist/core/sdd/quality-scenario-runner.js +613 -0
  209. package/dist/core/sdd/quality-validation.d.ts +547 -0
  210. package/dist/core/sdd/quality-validation.js +239 -0
  211. package/dist/core/sdd/resolve-project-root.d.ts +2 -2
  212. package/dist/core/sdd/resolve-project-root.js +11 -5
  213. package/dist/core/sdd/sanitize.d.ts +30 -1
  214. package/dist/core/sdd/sanitize.js +23 -23
  215. package/dist/core/sdd/services/agent-run.service.d.ts +65 -0
  216. package/dist/core/sdd/services/agent-run.service.js +189 -0
  217. package/dist/core/sdd/services/breakdown.service.js +2 -1
  218. package/dist/core/sdd/services/context.service.js +18 -16
  219. package/dist/core/sdd/services/debate.service.js +15 -2
  220. package/dist/core/sdd/services/feature-lint.service.d.ts +22 -0
  221. package/dist/core/sdd/services/feature-lint.service.js +105 -5
  222. package/dist/core/sdd/services/finalize.service.d.ts +80 -0
  223. package/dist/core/sdd/services/finalize.service.js +323 -24
  224. package/dist/core/sdd/services/frontend-gap.service.js +22 -7
  225. package/dist/core/sdd/services/governance-control-plane-runtime-adapters.d.ts +17 -0
  226. package/dist/core/sdd/services/governance-control-plane-runtime-adapters.js +38 -0
  227. package/dist/core/sdd/services/governance-control-plane.service.d.ts +66 -0
  228. package/dist/core/sdd/services/governance-control-plane.service.js +134 -0
  229. package/dist/core/sdd/services/ingest-deposito.service.js +1 -1
  230. package/dist/core/sdd/services/legacy-capability.service.d.ts +10 -7
  231. package/dist/core/sdd/services/legacy-capability.service.js +38 -21
  232. package/dist/core/sdd/services/mcp-runtime.service.d.ts +123 -8
  233. package/dist/core/sdd/services/mcp-runtime.service.js +1085 -33
  234. package/dist/core/sdd/services/onboard.service.js +2 -1
  235. package/dist/core/sdd/services/rebuild.service.js +6 -1
  236. package/dist/core/sdd/services/skills-sync.service.d.ts +17 -5
  237. package/dist/core/sdd/services/skills-sync.service.js +55 -2
  238. package/dist/core/sdd/services/start.service.js +6 -4
  239. package/dist/core/sdd/skill-bundles-curation-schema.d.ts +66 -0
  240. package/dist/core/sdd/skill-bundles-curation-schema.js +52 -0
  241. package/dist/core/sdd/skill-evidence.d.ts +19 -0
  242. package/dist/core/sdd/skill-evidence.js +38 -0
  243. package/dist/core/sdd/skill-policy-pool.d.ts +46 -0
  244. package/dist/core/sdd/skill-policy-pool.js +185 -0
  245. package/dist/core/sdd/state.d.ts +22 -0
  246. package/dist/core/sdd/state.js +66 -41
  247. package/dist/core/sdd/structural-health.d.ts +42 -42
  248. package/dist/core/sdd/types.d.ts +33 -7
  249. package/dist/core/sdd/types.js +17 -0
  250. package/dist/core/sdd/upgrade-to-codesdd.d.ts +45 -0
  251. package/dist/core/sdd/upgrade-to-codesdd.js +179 -0
  252. package/dist/core/sdd/workspace-schemas.d.ts +285 -14
  253. package/dist/core/sdd/workspace-schemas.js +148 -0
  254. package/dist/core/sdd/write-manifest.js +22 -4
  255. package/dist/core/shared/skill-generation.d.ts +1 -1
  256. package/dist/core/shared/skill-generation.js +15 -15
  257. package/dist/core/shared/tool-detection.d.ts +3 -3
  258. package/dist/core/shared/tool-detection.js +14 -14
  259. package/dist/core/specs-apply.js +6 -6
  260. package/dist/core/templates/index.d.ts +1 -1
  261. package/dist/core/templates/index.js +1 -1
  262. package/dist/core/templates/workflows/apply-change.js +14 -14
  263. package/dist/core/templates/workflows/archive-change.js +32 -32
  264. package/dist/core/templates/workflows/bulk-archive-change.js +25 -25
  265. package/dist/core/templates/workflows/continue-change.js +12 -12
  266. package/dist/core/templates/workflows/explore.js +29 -29
  267. package/dist/core/templates/workflows/feedback.js +6 -6
  268. package/dist/core/templates/workflows/ff-change.js +24 -24
  269. package/dist/core/templates/workflows/new-change.js +20 -20
  270. package/dist/core/templates/workflows/onboard.js +33 -33
  271. package/dist/core/templates/workflows/propose.js +23 -23
  272. package/dist/core/templates/workflows/sdd.js +8 -8
  273. package/dist/core/templates/workflows/sync-specs.js +19 -19
  274. package/dist/core/templates/workflows/verify-change.js +17 -17
  275. package/dist/core/update.d.ts +2 -2
  276. package/dist/core/update.js +16 -15
  277. package/dist/core/validation/constants.d.ts +1 -1
  278. package/dist/core/validation/constants.js +1 -1
  279. package/dist/core/view.js +11 -11
  280. package/dist/telemetry/config.d.ts +2 -1
  281. package/dist/telemetry/config.js +17 -8
  282. package/dist/telemetry/index.d.ts +10 -2
  283. package/dist/telemetry/index.js +40 -7
  284. package/dist/ui/ascii-patterns.d.ts +2 -2
  285. package/dist/ui/ascii-patterns.js +2 -2
  286. package/dist/ui/welcome-screen.js +2 -2
  287. package/dist/utils/change-metadata.d.ts +4 -4
  288. package/dist/utils/change-metadata.js +6 -6
  289. package/dist/utils/change-utils.d.ts +3 -3
  290. package/dist/utils/change-utils.js +5 -5
  291. package/dist/utils/file-system.js +1 -1
  292. package/dist/utils/interactive.js +1 -1
  293. package/dist/utils/item-discovery.js +4 -4
  294. package/dist/utils/legacy-spec-compat.d.ts +2 -0
  295. package/dist/utils/legacy-spec-compat.js +2 -0
  296. package/dist/utils/shell-detection.d.ts +1 -0
  297. package/dist/utils/shell-detection.js +16 -0
  298. package/package.json +27 -17
  299. package/schemas/sdd/1-spec.schema.json +1 -1
  300. package/schemas/sdd/2-plan.schema.json +73 -1
  301. package/schemas/sdd/3-tasks.schema.json +73 -1
  302. package/schemas/sdd/4-changelog.schema.json +1 -1
  303. package/schemas/sdd/5-quality.schema.json +442 -2
  304. package/schemas/sdd/adr.schema.json +148 -0
  305. package/schemas/sdd/agent-binding-adapter.schema.json +210 -0
  306. package/schemas/sdd/agent-binding-resolution.schema.json +338 -0
  307. package/schemas/sdd/backlog-projection-plan.schema.json +180 -0
  308. package/schemas/sdd/backlog-provider-contract.schema.json +260 -0
  309. package/schemas/sdd/codesdd-plugin.schema.json +474 -0
  310. package/schemas/sdd/debate.schema.json +244 -0
  311. package/schemas/sdd/deepagent-decision-evidence.schema.json +58 -0
  312. package/schemas/sdd/deepagent-env-contract.schema.json +143 -0
  313. package/schemas/sdd/deepagent-quality-evidence.schema.json +108 -0
  314. package/schemas/sdd/deepagent-run-evidence.schema.json +192 -0
  315. package/schemas/sdd/deepagent-run-plan.schema.json +197 -0
  316. package/schemas/sdd/deepagent-run-request.schema.json +321 -0
  317. package/schemas/sdd/deepagent-subagent-evidence.schema.json +110 -0
  318. package/schemas/sdd/deepagent-tool-call-evidence.schema.json +78 -0
  319. package/schemas/sdd/discarded.schema.json +127 -0
  320. package/schemas/sdd/epic.schema.json +147 -0
  321. package/schemas/sdd/insight.schema.json +136 -0
  322. package/schemas/sdd/parallel-feat-automation-plan.schema.json +215 -0
  323. package/schemas/sdd/parallel-feat-automation-request.schema.json +109 -0
  324. package/schemas/sdd/plugin-artifact-manifest.schema.json +150 -0
  325. package/schemas/sdd/plugin-compliance-index.schema.json +136 -0
  326. package/schemas/sdd/plugin-dry-run-plan.schema.json +260 -0
  327. package/schemas/sdd/plugin-evidence-manifest.schema.json +569 -0
  328. package/schemas/sdd/plugin-policy-evaluation.schema.json +92 -0
  329. package/schemas/sdd/plugin-policy-pack-evaluation.schema.json +94 -0
  330. package/schemas/sdd/plugin-policy-pack.schema.json +196 -0
  331. package/schemas/sdd/plugin-registry.schema.json +558 -0
  332. package/schemas/sdd/plugin-rollback-manifest.schema.json +87 -0
  333. package/schemas/sdd/plugin-runtime-invocation-plan.schema.json +845 -0
  334. package/schemas/sdd/plugin-skill-binding-resolution.schema.json +305 -0
  335. package/schemas/sdd/plugin-skill-binding.schema.json +88 -0
  336. package/schemas/sdd/plugin-validation-manifest.schema.json +123 -0
  337. package/schemas/sdd/quality-architecture-schema.schema.json +216 -0
  338. package/schemas/sdd/quality-evidence-bundle.schema.json +1228 -0
  339. package/schemas/sdd/quality-run.schema.json +197 -0
  340. package/schemas/sdd/quality-scenario.schema.json +252 -0
  341. package/schemas/sdd/workspace-catalog.schema.json +9841 -22
  342. package/schemas/spec-driven/schema.yaml +4 -4
  343. package/schemas/spec-driven/templates/proposal.md +1 -1
  344. package/dist/utils/openspec-compat.d.ts +0 -2
  345. package/dist/utils/openspec-compat.js +0 -2
@@ -11,6 +11,32 @@ export declare const workspaceGateSchema: z.ZodObject<{
11
11
  approved_by: z.ZodOptional<z.ZodString>;
12
12
  note: z.ZodOptional<z.ZodString>;
13
13
  }, z.core.$strip>;
14
+ export declare const workspacePolicyRequirementSchema: z.ZodObject<{
15
+ skill_id: z.ZodString;
16
+ policy_pool_ref: z.ZodString;
17
+ source_contract_ref: z.ZodString;
18
+ enforcement: z.ZodEnum<{
19
+ advisory: "advisory";
20
+ blocking: "blocking";
21
+ }>;
22
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
23
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
24
+ }, z.core.$strip>;
25
+ export declare const workspacePolicyInjectionSchema: z.ZodObject<{
26
+ version: z.ZodLiteral<1>;
27
+ generated_from: z.ZodLiteral<"recommended_skills">;
28
+ required_policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
29
+ skill_id: z.ZodString;
30
+ policy_pool_ref: z.ZodString;
31
+ source_contract_ref: z.ZodString;
32
+ enforcement: z.ZodEnum<{
33
+ advisory: "advisory";
34
+ blocking: "blocking";
35
+ }>;
36
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
37
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
38
+ }, z.core.$strip>>>;
39
+ }, z.core.$strip>;
14
40
  export declare const workspaceSpecSchema: z.ZodObject<{
15
41
  schema_version: z.ZodLiteral<1>;
16
42
  feature_id: z.ZodString;
@@ -117,6 +143,21 @@ export declare const workspacePlanSchema: z.ZodObject<{
117
143
  resolution_adr_ref: z.ZodOptional<z.ZodString>;
118
144
  architecture_tree_ascii: z.ZodOptional<z.ZodString>;
119
145
  }, z.core.$strip>>;
146
+ policy_injection: z.ZodOptional<z.ZodObject<{
147
+ version: z.ZodLiteral<1>;
148
+ generated_from: z.ZodLiteral<"recommended_skills">;
149
+ required_policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
150
+ skill_id: z.ZodString;
151
+ policy_pool_ref: z.ZodString;
152
+ source_contract_ref: z.ZodString;
153
+ enforcement: z.ZodEnum<{
154
+ advisory: "advisory";
155
+ blocking: "blocking";
156
+ }>;
157
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
158
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
159
+ }, z.core.$strip>>>;
160
+ }, z.core.$strip>>;
120
161
  }, z.core.$strip>;
121
162
  export declare const workspaceTaskSchema: z.ZodObject<{
122
163
  id: z.ZodString;
@@ -146,6 +187,21 @@ export declare const workspaceTaskSchema: z.ZodObject<{
146
187
  export declare const workspaceTasksSchema: z.ZodObject<{
147
188
  schema_version: z.ZodLiteral<1>;
148
189
  feature_id: z.ZodString;
190
+ policy_injection: z.ZodOptional<z.ZodObject<{
191
+ version: z.ZodLiteral<1>;
192
+ generated_from: z.ZodLiteral<"recommended_skills">;
193
+ required_policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
194
+ skill_id: z.ZodString;
195
+ policy_pool_ref: z.ZodString;
196
+ source_contract_ref: z.ZodString;
197
+ enforcement: z.ZodEnum<{
198
+ advisory: "advisory";
199
+ blocking: "blocking";
200
+ }>;
201
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
202
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
203
+ }, z.core.$strip>>>;
204
+ }, z.core.$strip>>;
149
205
  tasks: z.ZodArray<z.ZodObject<{
150
206
  id: z.ZodString;
151
207
  phase: z.ZodEnum<{
@@ -172,6 +228,25 @@ export declare const workspaceTasksSchema: z.ZodObject<{
172
228
  }>;
173
229
  }, z.core.$strip>>;
174
230
  }, z.core.$strip>;
231
+ export declare const promptAssetPhaseSchema: z.ZodEnum<{
232
+ documentation: "documentation";
233
+ preparation: "preparation";
234
+ implementation: "implementation";
235
+ testing: "testing";
236
+ finalization: "finalization";
237
+ }>;
238
+ export declare const promptAssetSchemaV1: z.ZodObject<{
239
+ id: z.ZodString;
240
+ version: z.ZodLiteral<1>;
241
+ phase: z.ZodEnum<{
242
+ documentation: "documentation";
243
+ preparation: "preparation";
244
+ implementation: "implementation";
245
+ testing: "testing";
246
+ finalization: "finalization";
247
+ }>;
248
+ outputs: z.ZodArray<z.ZodString>;
249
+ }, z.core.$strip>;
175
250
  export declare const workspaceChangelogSchema: z.ZodObject<{
176
251
  schema_version: z.ZodLiteral<1>;
177
252
  feature_id: z.ZodString;
@@ -266,6 +341,17 @@ export declare const workspaceQualitySchema: z.ZodObject<{
266
341
  }, z.core.$strip>>;
267
342
  skill_evidence: z.ZodDefault<z.ZodObject<{
268
343
  required_skill_ids: z.ZodArray<z.ZodString>;
344
+ policy_requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
345
+ skill_id: z.ZodString;
346
+ policy_pool_ref: z.ZodString;
347
+ source_contract_ref: z.ZodString;
348
+ enforcement: z.ZodEnum<{
349
+ advisory: "advisory";
350
+ blocking: "blocking";
351
+ }>;
352
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
353
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
354
+ }, z.core.$strip>>>;
269
355
  evidence: z.ZodArray<z.ZodObject<{
270
356
  skill_id: z.ZodString;
271
357
  note: z.ZodString;
@@ -277,6 +363,21 @@ export declare const workspaceQualitySchema: z.ZodObject<{
277
363
  }, z.core.$strip>>;
278
364
  verification_rule: z.ZodString;
279
365
  }, z.core.$strip>>;
366
+ policy_injection: z.ZodOptional<z.ZodObject<{
367
+ version: z.ZodLiteral<1>;
368
+ generated_from: z.ZodLiteral<"recommended_skills">;
369
+ required_policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
370
+ skill_id: z.ZodString;
371
+ policy_pool_ref: z.ZodString;
372
+ source_contract_ref: z.ZodString;
373
+ enforcement: z.ZodEnum<{
374
+ advisory: "advisory";
375
+ blocking: "blocking";
376
+ }>;
377
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
378
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
379
+ }, z.core.$strip>>>;
380
+ }, z.core.$strip>>;
280
381
  acceptance_matrix: z.ZodArray<z.ZodObject<{
281
382
  criterion: z.ZodString;
282
383
  status: z.ZodEnum<{
@@ -286,6 +387,17 @@ export declare const workspaceQualitySchema: z.ZodObject<{
286
387
  }>;
287
388
  evidence: z.ZodString;
288
389
  }, z.core.$strip>>;
390
+ requirement_validation_evidence_risk_matrix: z.ZodDefault<z.ZodArray<z.ZodObject<{
391
+ requirement_ref: z.ZodString;
392
+ validation_refs: z.ZodArray<z.ZodString>;
393
+ evidence_refs: z.ZodArray<z.ZodString>;
394
+ residual_risk: z.ZodString;
395
+ risk_status: z.ZodDefault<z.ZodEnum<{
396
+ open: "open";
397
+ mitigated: "mitigated";
398
+ accepted: "accepted";
399
+ }>>;
400
+ }, z.core.$strip>>>;
289
401
  exceptions: z.ZodArray<z.ZodObject<{
290
402
  scope: z.ZodString;
291
403
  reason: z.ZodString;
@@ -295,8 +407,8 @@ export declare const workspaceQualitySchema: z.ZodObject<{
295
407
  remediation_policy: z.ZodObject<{
296
408
  on_coverage_miss: z.ZodEnum<{
297
409
  block: "block";
298
- re_task: "re_task";
299
410
  exception: "exception";
411
+ re_task: "re_task";
300
412
  }>;
301
413
  max_rounds: z.ZodDefault<z.ZodNumber>;
302
414
  }, z.core.$strip>;
@@ -331,25 +443,70 @@ export declare const workspaceQualitySchema: z.ZodObject<{
331
443
  }, z.core.$strip>>;
332
444
  security_integrity: z.ZodOptional<z.ZodObject<{
333
445
  endpoint_auth_review: z.ZodDefault<z.ZodEnum<{
446
+ failed: "failed";
334
447
  pending: "pending";
335
- not_applicable: "not_applicable";
336
448
  passed: "passed";
337
- failed: "failed";
449
+ not_applicable: "not_applicable";
338
450
  }>>;
339
451
  sensitive_data_exposure_review: z.ZodDefault<z.ZodEnum<{
452
+ failed: "failed";
340
453
  pending: "pending";
341
- not_applicable: "not_applicable";
342
454
  passed: "passed";
343
- failed: "failed";
455
+ not_applicable: "not_applicable";
344
456
  }>>;
345
457
  incident_response_review: z.ZodDefault<z.ZodEnum<{
458
+ failed: "failed";
346
459
  pending: "pending";
347
- not_applicable: "not_applicable";
348
460
  passed: "passed";
349
- failed: "failed";
461
+ not_applicable: "not_applicable";
350
462
  }>>;
351
463
  notes: z.ZodOptional<z.ZodString>;
352
464
  }, z.core.$strip>>;
465
+ q95_ledger: z.ZodDefault<z.ZodObject<{
466
+ threshold: z.ZodDefault<z.ZodNumber>;
467
+ score: z.ZodDefault<z.ZodNumber>;
468
+ status: z.ZodDefault<z.ZodEnum<{
469
+ pass: "pass";
470
+ fail: "fail";
471
+ pending: "pending";
472
+ }>>;
473
+ computed_at: z.ZodDefault<z.ZodString>;
474
+ weights: z.ZodDefault<z.ZodObject<{
475
+ coverage: z.ZodDefault<z.ZodNumber>;
476
+ traceability: z.ZodDefault<z.ZodNumber>;
477
+ integrity: z.ZodDefault<z.ZodNumber>;
478
+ naming: z.ZodDefault<z.ZodNumber>;
479
+ token: z.ZodDefault<z.ZodNumber>;
480
+ }, z.core.$strip>>;
481
+ axes: z.ZodDefault<z.ZodObject<{
482
+ coverage: z.ZodObject<{
483
+ raw_score: z.ZodNumber;
484
+ weighted_score: z.ZodNumber;
485
+ rationale: z.ZodString;
486
+ }, z.core.$strip>;
487
+ traceability: z.ZodObject<{
488
+ raw_score: z.ZodNumber;
489
+ weighted_score: z.ZodNumber;
490
+ rationale: z.ZodString;
491
+ }, z.core.$strip>;
492
+ integrity: z.ZodObject<{
493
+ raw_score: z.ZodNumber;
494
+ weighted_score: z.ZodNumber;
495
+ rationale: z.ZodString;
496
+ }, z.core.$strip>;
497
+ naming: z.ZodObject<{
498
+ raw_score: z.ZodNumber;
499
+ weighted_score: z.ZodNumber;
500
+ rationale: z.ZodString;
501
+ }, z.core.$strip>;
502
+ token: z.ZodObject<{
503
+ raw_score: z.ZodNumber;
504
+ weighted_score: z.ZodNumber;
505
+ rationale: z.ZodString;
506
+ }, z.core.$strip>;
507
+ }, z.core.$strip>>;
508
+ next_best_action: z.ZodDefault<z.ZodString>;
509
+ }, z.core.$strip>>;
353
510
  }, z.core.$strip>;
354
511
  export declare const workspaceDocumentSchemas: {
355
512
  readonly '1-spec.yaml': z.ZodObject<{
@@ -458,10 +615,40 @@ export declare const workspaceDocumentSchemas: {
458
615
  resolution_adr_ref: z.ZodOptional<z.ZodString>;
459
616
  architecture_tree_ascii: z.ZodOptional<z.ZodString>;
460
617
  }, z.core.$strip>>;
618
+ policy_injection: z.ZodOptional<z.ZodObject<{
619
+ version: z.ZodLiteral<1>;
620
+ generated_from: z.ZodLiteral<"recommended_skills">;
621
+ required_policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
622
+ skill_id: z.ZodString;
623
+ policy_pool_ref: z.ZodString;
624
+ source_contract_ref: z.ZodString;
625
+ enforcement: z.ZodEnum<{
626
+ advisory: "advisory";
627
+ blocking: "blocking";
628
+ }>;
629
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
630
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
631
+ }, z.core.$strip>>>;
632
+ }, z.core.$strip>>;
461
633
  }, z.core.$strip>;
462
634
  readonly '3-tasks.yaml': z.ZodObject<{
463
635
  schema_version: z.ZodLiteral<1>;
464
636
  feature_id: z.ZodString;
637
+ policy_injection: z.ZodOptional<z.ZodObject<{
638
+ version: z.ZodLiteral<1>;
639
+ generated_from: z.ZodLiteral<"recommended_skills">;
640
+ required_policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
641
+ skill_id: z.ZodString;
642
+ policy_pool_ref: z.ZodString;
643
+ source_contract_ref: z.ZodString;
644
+ enforcement: z.ZodEnum<{
645
+ advisory: "advisory";
646
+ blocking: "blocking";
647
+ }>;
648
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
649
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
650
+ }, z.core.$strip>>>;
651
+ }, z.core.$strip>>;
465
652
  tasks: z.ZodArray<z.ZodObject<{
466
653
  id: z.ZodString;
467
654
  phase: z.ZodEnum<{
@@ -519,6 +706,17 @@ export declare const workspaceDocumentSchemas: {
519
706
  }, z.core.$strip>>;
520
707
  skill_evidence: z.ZodDefault<z.ZodObject<{
521
708
  required_skill_ids: z.ZodArray<z.ZodString>;
709
+ policy_requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
710
+ skill_id: z.ZodString;
711
+ policy_pool_ref: z.ZodString;
712
+ source_contract_ref: z.ZodString;
713
+ enforcement: z.ZodEnum<{
714
+ advisory: "advisory";
715
+ blocking: "blocking";
716
+ }>;
717
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
718
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
719
+ }, z.core.$strip>>>;
522
720
  evidence: z.ZodArray<z.ZodObject<{
523
721
  skill_id: z.ZodString;
524
722
  note: z.ZodString;
@@ -530,6 +728,21 @@ export declare const workspaceDocumentSchemas: {
530
728
  }, z.core.$strip>>;
531
729
  verification_rule: z.ZodString;
532
730
  }, z.core.$strip>>;
731
+ policy_injection: z.ZodOptional<z.ZodObject<{
732
+ version: z.ZodLiteral<1>;
733
+ generated_from: z.ZodLiteral<"recommended_skills">;
734
+ required_policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
735
+ skill_id: z.ZodString;
736
+ policy_pool_ref: z.ZodString;
737
+ source_contract_ref: z.ZodString;
738
+ enforcement: z.ZodEnum<{
739
+ advisory: "advisory";
740
+ blocking: "blocking";
741
+ }>;
742
+ required_rule_refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
743
+ required_evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
744
+ }, z.core.$strip>>>;
745
+ }, z.core.$strip>>;
533
746
  acceptance_matrix: z.ZodArray<z.ZodObject<{
534
747
  criterion: z.ZodString;
535
748
  status: z.ZodEnum<{
@@ -539,6 +752,17 @@ export declare const workspaceDocumentSchemas: {
539
752
  }>;
540
753
  evidence: z.ZodString;
541
754
  }, z.core.$strip>>;
755
+ requirement_validation_evidence_risk_matrix: z.ZodDefault<z.ZodArray<z.ZodObject<{
756
+ requirement_ref: z.ZodString;
757
+ validation_refs: z.ZodArray<z.ZodString>;
758
+ evidence_refs: z.ZodArray<z.ZodString>;
759
+ residual_risk: z.ZodString;
760
+ risk_status: z.ZodDefault<z.ZodEnum<{
761
+ open: "open";
762
+ mitigated: "mitigated";
763
+ accepted: "accepted";
764
+ }>>;
765
+ }, z.core.$strip>>>;
542
766
  exceptions: z.ZodArray<z.ZodObject<{
543
767
  scope: z.ZodString;
544
768
  reason: z.ZodString;
@@ -548,8 +772,8 @@ export declare const workspaceDocumentSchemas: {
548
772
  remediation_policy: z.ZodObject<{
549
773
  on_coverage_miss: z.ZodEnum<{
550
774
  block: "block";
551
- re_task: "re_task";
552
775
  exception: "exception";
776
+ re_task: "re_task";
553
777
  }>;
554
778
  max_rounds: z.ZodDefault<z.ZodNumber>;
555
779
  }, z.core.$strip>;
@@ -584,25 +808,70 @@ export declare const workspaceDocumentSchemas: {
584
808
  }, z.core.$strip>>;
585
809
  security_integrity: z.ZodOptional<z.ZodObject<{
586
810
  endpoint_auth_review: z.ZodDefault<z.ZodEnum<{
811
+ failed: "failed";
587
812
  pending: "pending";
588
- not_applicable: "not_applicable";
589
813
  passed: "passed";
590
- failed: "failed";
814
+ not_applicable: "not_applicable";
591
815
  }>>;
592
816
  sensitive_data_exposure_review: z.ZodDefault<z.ZodEnum<{
817
+ failed: "failed";
593
818
  pending: "pending";
594
- not_applicable: "not_applicable";
595
819
  passed: "passed";
596
- failed: "failed";
820
+ not_applicable: "not_applicable";
597
821
  }>>;
598
822
  incident_response_review: z.ZodDefault<z.ZodEnum<{
823
+ failed: "failed";
599
824
  pending: "pending";
600
- not_applicable: "not_applicable";
601
825
  passed: "passed";
602
- failed: "failed";
826
+ not_applicable: "not_applicable";
603
827
  }>>;
604
828
  notes: z.ZodOptional<z.ZodString>;
605
829
  }, z.core.$strip>>;
830
+ q95_ledger: z.ZodDefault<z.ZodObject<{
831
+ threshold: z.ZodDefault<z.ZodNumber>;
832
+ score: z.ZodDefault<z.ZodNumber>;
833
+ status: z.ZodDefault<z.ZodEnum<{
834
+ pass: "pass";
835
+ fail: "fail";
836
+ pending: "pending";
837
+ }>>;
838
+ computed_at: z.ZodDefault<z.ZodString>;
839
+ weights: z.ZodDefault<z.ZodObject<{
840
+ coverage: z.ZodDefault<z.ZodNumber>;
841
+ traceability: z.ZodDefault<z.ZodNumber>;
842
+ integrity: z.ZodDefault<z.ZodNumber>;
843
+ naming: z.ZodDefault<z.ZodNumber>;
844
+ token: z.ZodDefault<z.ZodNumber>;
845
+ }, z.core.$strip>>;
846
+ axes: z.ZodDefault<z.ZodObject<{
847
+ coverage: z.ZodObject<{
848
+ raw_score: z.ZodNumber;
849
+ weighted_score: z.ZodNumber;
850
+ rationale: z.ZodString;
851
+ }, z.core.$strip>;
852
+ traceability: z.ZodObject<{
853
+ raw_score: z.ZodNumber;
854
+ weighted_score: z.ZodNumber;
855
+ rationale: z.ZodString;
856
+ }, z.core.$strip>;
857
+ integrity: z.ZodObject<{
858
+ raw_score: z.ZodNumber;
859
+ weighted_score: z.ZodNumber;
860
+ rationale: z.ZodString;
861
+ }, z.core.$strip>;
862
+ naming: z.ZodObject<{
863
+ raw_score: z.ZodNumber;
864
+ weighted_score: z.ZodNumber;
865
+ rationale: z.ZodString;
866
+ }, z.core.$strip>;
867
+ token: z.ZodObject<{
868
+ raw_score: z.ZodNumber;
869
+ weighted_score: z.ZodNumber;
870
+ rationale: z.ZodString;
871
+ }, z.core.$strip>;
872
+ }, z.core.$strip>>;
873
+ next_best_action: z.ZodDefault<z.ZodString>;
874
+ }, z.core.$strip>>;
606
875
  }, z.core.$strip>;
607
876
  };
608
877
  export type WorkspaceDocumentFileName = keyof typeof workspaceDocumentSchemas;
@@ -612,9 +881,11 @@ export declare class WorkspaceYamlError extends Error {
612
881
  export declare function workspaceSchemaForFile(fileName: string): (typeof workspaceDocumentSchemas)[WorkspaceDocumentFileName] | undefined;
613
882
  export declare function parseWorkspaceYamlDocument(fileName: WorkspaceDocumentFileName, content: string): unknown;
614
883
  export declare function stringifyWorkspaceYamlDocument(fileName: WorkspaceDocumentFileName, value: unknown): string;
884
+ export declare function parsePromptAssetYamlDocument(content: string): z.infer<typeof promptAssetSchemaV1>;
615
885
  export type WorkspaceSpecDocument = z.infer<typeof workspaceSpecSchema>;
616
886
  export type WorkspacePlanDocument = z.infer<typeof workspacePlanSchema>;
617
887
  export type WorkspaceTasksDocument = z.infer<typeof workspaceTasksSchema>;
618
888
  export type WorkspaceChangelogDocument = z.infer<typeof workspaceChangelogSchema>;
619
889
  export type WorkspaceQualityDocument = z.infer<typeof workspaceQualitySchema>;
890
+ export type PromptAssetDocumentV1 = z.infer<typeof promptAssetSchemaV1>;
620
891
  //# sourceMappingURL=workspace-schemas.d.ts.map
@@ -7,6 +7,19 @@ export const workspaceGateSchema = z.object({
7
7
  approved_by: z.string().optional(),
8
8
  note: z.string().optional(),
9
9
  });
10
+ export const workspacePolicyRequirementSchema = z.object({
11
+ skill_id: z.string().min(1),
12
+ policy_pool_ref: z.string().min(1),
13
+ source_contract_ref: z.string().min(1),
14
+ enforcement: z.enum(['blocking', 'advisory']),
15
+ required_rule_refs: z.array(z.string().min(1)).default([]),
16
+ required_evidence: z.array(z.string().min(1)).default([]),
17
+ });
18
+ export const workspacePolicyInjectionSchema = z.object({
19
+ version: z.literal(1),
20
+ generated_from: z.literal('recommended_skills'),
21
+ required_policies: z.array(workspacePolicyRequirementSchema).default([]),
22
+ });
10
23
  export const workspaceSpecSchema = z.object({
11
24
  schema_version: z.literal(1),
12
25
  feature_id: workspaceFeatureIdSchema,
@@ -75,6 +88,7 @@ export const workspacePlanSchema = z.object({
75
88
  architecture_tree_ascii: z.string().optional(),
76
89
  })
77
90
  .optional(),
91
+ policy_injection: workspacePolicyInjectionSchema.optional(),
78
92
  });
79
93
  export const workspaceTaskSchema = z.object({
80
94
  id: z.string(),
@@ -93,8 +107,16 @@ export const workspaceTaskSchema = z.object({
93
107
  export const workspaceTasksSchema = z.object({
94
108
  schema_version: z.literal(1),
95
109
  feature_id: workspaceFeatureIdSchema,
110
+ policy_injection: workspacePolicyInjectionSchema.optional(),
96
111
  tasks: z.array(workspaceTaskSchema).min(5),
97
112
  });
113
+ export const promptAssetPhaseSchema = z.enum(['preparation', 'implementation', 'testing', 'documentation', 'finalization']);
114
+ export const promptAssetSchemaV1 = z.object({
115
+ id: z.string().min(1),
116
+ version: z.literal(1),
117
+ phase: promptAssetPhaseSchema,
118
+ outputs: z.array(z.string().min(1)).min(1),
119
+ });
98
120
  export const workspaceChangelogSchema = z.object({
99
121
  schema_version: z.literal(1),
100
122
  feature_id: workspaceFeatureIdSchema,
@@ -156,6 +178,7 @@ export const workspaceQualitySchema = z.object({
156
178
  skill_evidence: z
157
179
  .object({
158
180
  required_skill_ids: z.array(z.string()),
181
+ policy_requirements: z.array(workspacePolicyRequirementSchema).default([]),
159
182
  evidence: z.array(z.object({
160
183
  skill_id: z.string().min(1),
161
184
  note: z.string().min(10),
@@ -165,14 +188,25 @@ export const workspaceQualitySchema = z.object({
165
188
  })
166
189
  .default({
167
190
  required_skill_ids: [],
191
+ policy_requirements: [],
168
192
  evidence: [],
169
193
  verification_rule: 'No skill evidence required for this feature.',
170
194
  }),
195
+ policy_injection: workspacePolicyInjectionSchema.optional(),
171
196
  acceptance_matrix: z.array(z.object({
172
197
  criterion: z.string(),
173
198
  status: z.enum(['met', 'not_met', 'na']),
174
199
  evidence: z.string(),
175
200
  })),
201
+ requirement_validation_evidence_risk_matrix: z
202
+ .array(z.object({
203
+ requirement_ref: z.string().min(1),
204
+ validation_refs: z.array(z.string().min(1)).min(1),
205
+ evidence_refs: z.array(z.string().min(1)).min(1),
206
+ residual_risk: z.string().min(5),
207
+ risk_status: z.enum(['open', 'mitigated', 'accepted']).default('open'),
208
+ }))
209
+ .default([]),
176
210
  exceptions: z.array(z.object({
177
211
  scope: z.string(),
178
212
  reason: z.string(),
@@ -200,6 +234,105 @@ export const workspaceQualitySchema = z.object({
200
234
  notes: z.string().optional(),
201
235
  })
202
236
  .optional(),
237
+ q95_ledger: z
238
+ .object({
239
+ threshold: z.number().default(95),
240
+ score: z.number().default(0),
241
+ status: z.enum(['pass', 'fail', 'pending']).default('pending'),
242
+ computed_at: z.string().default(''),
243
+ weights: z
244
+ .object({
245
+ coverage: z.number().default(30),
246
+ traceability: z.number().default(20),
247
+ integrity: z.number().default(20),
248
+ naming: z.number().default(10),
249
+ token: z.number().default(20),
250
+ })
251
+ .default({
252
+ coverage: 30,
253
+ traceability: 20,
254
+ integrity: 20,
255
+ naming: 10,
256
+ token: 20,
257
+ }),
258
+ axes: z
259
+ .object({
260
+ coverage: z.object({ raw_score: z.number(), weighted_score: z.number(), rationale: z.string() }),
261
+ traceability: z.object({ raw_score: z.number(), weighted_score: z.number(), rationale: z.string() }),
262
+ integrity: z.object({ raw_score: z.number(), weighted_score: z.number(), rationale: z.string() }),
263
+ naming: z.object({ raw_score: z.number(), weighted_score: z.number(), rationale: z.string() }),
264
+ token: z.object({ raw_score: z.number(), weighted_score: z.number(), rationale: z.string() }),
265
+ })
266
+ .default({
267
+ coverage: {
268
+ raw_score: 0,
269
+ weighted_score: 0,
270
+ rationale: 'Computed during finalize.'
271
+ },
272
+ traceability: {
273
+ raw_score: 0,
274
+ weighted_score: 0,
275
+ rationale: 'Computed during finalize.'
276
+ },
277
+ integrity: {
278
+ raw_score: 0,
279
+ weighted_score: 0,
280
+ rationale: 'Computed during finalize.'
281
+ },
282
+ naming: {
283
+ raw_score: 0,
284
+ weighted_score: 0,
285
+ rationale: 'Computed during finalize.'
286
+ },
287
+ token: {
288
+ raw_score: 0,
289
+ weighted_score: 0,
290
+ rationale: 'Computed during finalize.'
291
+ },
292
+ }),
293
+ next_best_action: z.string().default('Record missing evidence to raise the lowest weighted axis.'),
294
+ })
295
+ .default({
296
+ threshold: 95,
297
+ score: 0,
298
+ status: 'pending',
299
+ computed_at: '',
300
+ weights: {
301
+ coverage: 30,
302
+ traceability: 20,
303
+ integrity: 20,
304
+ naming: 10,
305
+ token: 20,
306
+ },
307
+ axes: {
308
+ coverage: {
309
+ raw_score: 0,
310
+ weighted_score: 0,
311
+ rationale: 'Computed during finalize.'
312
+ },
313
+ traceability: {
314
+ raw_score: 0,
315
+ weighted_score: 0,
316
+ rationale: 'Computed during finalize.'
317
+ },
318
+ integrity: {
319
+ raw_score: 0,
320
+ weighted_score: 0,
321
+ rationale: 'Computed during finalize.'
322
+ },
323
+ naming: {
324
+ raw_score: 0,
325
+ weighted_score: 0,
326
+ rationale: 'Computed during finalize.'
327
+ },
328
+ token: {
329
+ raw_score: 0,
330
+ weighted_score: 0,
331
+ rationale: 'Computed during finalize.'
332
+ },
333
+ },
334
+ next_best_action: 'Record missing evidence to raise the lowest weighted axis.',
335
+ }),
203
336
  });
204
337
  export const workspaceDocumentSchemas = {
205
338
  '1-spec.yaml': workspaceSpecSchema,
@@ -251,4 +384,19 @@ export function stringifyWorkspaceYamlDocument(fileName, value) {
251
384
  parseWorkspaceYamlDocument(fileName, serialized);
252
385
  return serialized;
253
386
  }
387
+ export function parsePromptAssetYamlDocument(content) {
388
+ let parsed;
389
+ try {
390
+ parsed = parseYaml(content);
391
+ }
392
+ catch (error) {
393
+ const message = error instanceof Error ? error.message : String(error);
394
+ throw new WorkspaceYamlError(`Prompt asset YAML parse failed: ${message}`);
395
+ }
396
+ const result = promptAssetSchemaV1.safeParse(parsed);
397
+ if (!result.success) {
398
+ throw new WorkspaceYamlError(`Prompt asset YAML schema validation failed: ${result.error.message}`);
399
+ }
400
+ return result.data;
401
+ }
254
402
  //# sourceMappingURL=workspace-schemas.js.map