@devtrack-solution/codesdd 1.2.2 → 1.2.4-rc3

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 (413) hide show
  1. package/.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md +17 -17
  2. package/.sdd/skills/curated/devtrack-api/SKILL.md +170 -31
  3. package/.sdd/skills/curated/devtrack-api/agents/claude-code.yaml +8 -0
  4. package/.sdd/skills/curated/devtrack-api/agents/codex.yaml +8 -0
  5. package/.sdd/skills/curated/devtrack-api/agents/cursor.yaml +8 -0
  6. package/.sdd/skills/curated/devtrack-api/agents/gemini.yaml +8 -0
  7. package/.sdd/skills/curated/devtrack-api/agents/kimi.yaml +8 -0
  8. package/.sdd/skills/curated/devtrack-api/agents/openai.yaml +4 -2
  9. package/.sdd/skills/curated/devtrack-api/agents/opencode.yaml +10 -0
  10. package/.sdd/skills/curated/devtrack-api/references/application-presentation.md +2 -2
  11. package/.sdd/skills/curated/devtrack-api/references/architecture-governance.md +8 -7
  12. package/.sdd/skills/curated/devtrack-api/references/consumer-sync-policy.md +93 -0
  13. package/.sdd/skills/curated/devtrack-api/references/contract-pack.yaml +372 -0
  14. package/.sdd/skills/curated/devtrack-api/references/domain-modeling.md +13 -13
  15. package/.sdd/skills/curated/devtrack-api/references/field-validation-protocol.md +95 -0
  16. package/.sdd/skills/curated/devtrack-api/references/foundation-layout.md +294 -0
  17. package/.sdd/skills/curated/devtrack-api/references/implementation-checklist.md +5 -5
  18. package/.sdd/skills/curated/devtrack-api/references/imports-lint.md +4 -0
  19. package/.sdd/skills/curated/devtrack-api/references/portable-agent-contract.md +41 -0
  20. package/.sdd/skills/curated/devtrack-api/references/testing-validation.md +2 -2
  21. package/.sdd/skills/curated/devtrack-api/references/typeorm-infrastructure.md +7 -9
  22. package/LICENSE +1 -1
  23. package/README.md +399 -53
  24. package/bin/codesdd.js +3 -2
  25. package/dist/applications/sdd/index.d.ts +16 -0
  26. package/dist/applications/sdd/index.js +16 -0
  27. package/dist/cli/index.d.ts +2 -2
  28. package/dist/cli/index.js +11 -558
  29. package/dist/cli/program.d.ts +14 -0
  30. package/dist/cli/program.js +645 -0
  31. package/dist/commands/change.js +5 -5
  32. package/dist/commands/completion.d.ts +1 -1
  33. package/dist/commands/completion.js +9 -2
  34. package/dist/commands/config.js +320 -20
  35. package/dist/commands/feedback.js +1 -1
  36. package/dist/commands/schema.d.ts +63 -0
  37. package/dist/commands/schema.js +12 -12
  38. package/dist/commands/sdd/backlog.d.ts +3 -0
  39. package/dist/commands/sdd/backlog.js +54 -0
  40. package/dist/commands/sdd/execution.js +489 -28
  41. package/dist/commands/sdd/plugin.d.ts +3 -0
  42. package/dist/commands/sdd/plugin.js +158 -0
  43. package/dist/commands/sdd/shared.d.ts +1 -0
  44. package/dist/commands/sdd/shared.js +11 -22
  45. package/dist/commands/sdd/skills.js +7 -0
  46. package/dist/commands/sdd.js +107 -15
  47. package/dist/commands/spec.js +9 -9
  48. package/dist/commands/validate.js +6 -6
  49. package/dist/commands/workflow/instructions.js +6 -6
  50. package/dist/commands/workflow/new-change.js +3 -3
  51. package/dist/commands/workflow/shared.d.ts +1 -1
  52. package/dist/commands/workflow/shared.js +4 -4
  53. package/dist/core/archive.js +15 -5
  54. package/dist/core/artifact-graph/instruction-loader.d.ts +1 -1
  55. package/dist/core/artifact-graph/instruction-loader.js +3 -3
  56. package/dist/core/artifact-graph/resolver.d.ts +4 -4
  57. package/dist/core/artifact-graph/resolver.js +6 -6
  58. package/dist/core/branding.js +3 -3
  59. package/dist/core/cli/command-matrix.js +19 -1
  60. package/dist/core/cli-command-quality.d.ts +27 -0
  61. package/dist/core/cli-command-quality.js +180 -0
  62. package/dist/core/command-generation/adapters/costrict.d.ts +1 -1
  63. package/dist/core/command-generation/adapters/costrict.js +2 -2
  64. package/dist/core/command-generation/types.d.ts +1 -1
  65. package/dist/core/completions/command-registry.d.ts +1 -1
  66. package/dist/core/completions/command-registry.js +200 -12
  67. package/dist/core/completions/completion-provider.d.ts +14 -1
  68. package/dist/core/completions/completion-provider.js +29 -1
  69. package/dist/core/completions/generators/bash-generator.d.ts +1 -1
  70. package/dist/core/completions/generators/bash-generator.js +20 -12
  71. package/dist/core/completions/generators/fish-generator.d.ts +9 -1
  72. package/dist/core/completions/generators/fish-generator.js +39 -25
  73. package/dist/core/completions/generators/powershell-generator.d.ts +1 -1
  74. package/dist/core/completions/generators/powershell-generator.js +21 -11
  75. package/dist/core/completions/generators/zsh-generator.d.ts +3 -6
  76. package/dist/core/completions/generators/zsh-generator.js +21 -42
  77. package/dist/core/completions/installers/bash-installer.js +6 -6
  78. package/dist/core/completions/installers/fish-installer.js +1 -1
  79. package/dist/core/completions/installers/powershell-installer.js +14 -14
  80. package/dist/core/completions/installers/zsh-installer.d.ts +7 -1
  81. package/dist/core/completions/installers/zsh-installer.js +36 -8
  82. package/dist/core/completions/templates/bash-templates.d.ts +1 -1
  83. package/dist/core/completions/templates/bash-templates.js +12 -6
  84. package/dist/core/completions/templates/fish-templates.d.ts +2 -2
  85. package/dist/core/completions/templates/fish-templates.js +20 -9
  86. package/dist/core/completions/templates/powershell-templates.d.ts +1 -1
  87. package/dist/core/completions/templates/powershell-templates.js +13 -4
  88. package/dist/core/completions/templates/zsh-templates.d.ts +1 -1
  89. package/dist/core/completions/templates/zsh-templates.js +18 -9
  90. package/dist/core/config-schema.d.ts +20 -1
  91. package/dist/core/config-schema.js +70 -2
  92. package/dist/core/config.d.ts +3 -3
  93. package/dist/core/config.js +4 -4
  94. package/dist/core/global-config.d.ts +57 -12
  95. package/dist/core/global-config.js +344 -27
  96. package/dist/core/index.d.ts +1 -1
  97. package/dist/core/index.js +2 -2
  98. package/dist/core/init.d.ts +6 -1
  99. package/dist/core/init.js +99 -77
  100. package/dist/core/legacy-cleanup.d.ts +17 -17
  101. package/dist/core/legacy-cleanup.js +96 -79
  102. package/dist/core/list.js +18 -4
  103. package/dist/core/migration.d.ts +3 -1
  104. package/dist/core/migration.js +7 -8
  105. package/dist/core/parsers/change-parser.js +1 -1
  106. package/dist/core/parsers/markdown-parser.js +2 -2
  107. package/dist/core/profile-sync-drift.d.ts +1 -1
  108. package/dist/core/profile-sync-drift.js +13 -13
  109. package/dist/core/project-config.d.ts +4 -4
  110. package/dist/core/project-config.js +11 -11
  111. package/dist/core/schemas/change.schema.d.ts +1 -1
  112. package/dist/core/schemas/change.schema.js +1 -1
  113. package/dist/core/schemas/spec.schema.d.ts +1 -1
  114. package/dist/core/schemas/spec.schema.js +1 -1
  115. package/dist/core/sdd/adr.js +23 -1
  116. package/dist/core/sdd/agent-binding.d.ts +346 -0
  117. package/dist/core/sdd/agent-binding.js +343 -0
  118. package/dist/core/sdd/agent-runtime-contract.d.ts +204 -0
  119. package/dist/core/sdd/agent-runtime-contract.js +200 -0
  120. package/dist/core/sdd/backlog-cli.d.ts +16 -0
  121. package/dist/core/sdd/backlog-cli.js +146 -0
  122. package/dist/core/sdd/backlog-conflict-policy.d.ts +58 -0
  123. package/dist/core/sdd/backlog-conflict-policy.js +230 -0
  124. package/dist/core/sdd/backlog-projection.d.ts +8 -0
  125. package/dist/core/sdd/backlog-projection.js +89 -0
  126. package/dist/core/sdd/backlog-provider-contract.d.ts +252 -0
  127. package/dist/core/sdd/backlog-provider-contract.js +158 -0
  128. package/dist/core/sdd/bootstrap.js +2 -2
  129. package/dist/core/sdd/check.d.ts +44 -0
  130. package/dist/core/sdd/check.js +62 -24
  131. package/dist/core/sdd/contract.d.ts +13 -0
  132. package/dist/core/sdd/contract.js +36 -0
  133. package/dist/core/sdd/coordination/coordination-adapters.d.ts +53 -8
  134. package/dist/core/sdd/coordination/coordination-adapters.js +182 -16
  135. package/dist/core/sdd/coordination/index.d.ts +1 -0
  136. package/dist/core/sdd/coordination/index.js +1 -0
  137. package/dist/core/sdd/coordination/redis-runtime.d.ts +131 -0
  138. package/dist/core/sdd/coordination/redis-runtime.js +698 -0
  139. package/dist/core/sdd/deepagent-contracts.d.ts +370 -0
  140. package/dist/core/sdd/deepagent-contracts.js +235 -0
  141. package/dist/core/sdd/deepagents/adr-governor.d.ts +2 -0
  142. package/dist/core/sdd/deepagents/adr-governor.js +30 -0
  143. package/dist/core/sdd/deepagents/backend.d.ts +63 -0
  144. package/dist/core/sdd/deepagents/backend.js +174 -0
  145. package/dist/core/sdd/deepagents/codesdd-tools.d.ts +39 -0
  146. package/dist/core/sdd/deepagents/codesdd-tools.js +83 -0
  147. package/dist/core/sdd/deepagents/evidence-mapper.d.ts +86 -0
  148. package/dist/core/sdd/deepagents/evidence-mapper.js +178 -0
  149. package/dist/core/sdd/deepagents/model-provider.d.ts +53 -0
  150. package/dist/core/sdd/deepagents/model-provider.js +379 -0
  151. package/dist/core/sdd/deepagents/policy-enforcement.d.ts +30 -0
  152. package/dist/core/sdd/deepagents/policy-enforcement.js +90 -0
  153. package/dist/core/sdd/deepagents/policy.d.ts +75 -0
  154. package/dist/core/sdd/deepagents/policy.js +358 -0
  155. package/dist/core/sdd/deepagents/quality-witness.d.ts +3 -0
  156. package/dist/core/sdd/deepagents/quality-witness.js +77 -0
  157. package/dist/core/sdd/deepagents/reversa-subagents.d.ts +75 -0
  158. package/dist/core/sdd/deepagents/reversa-subagents.js +182 -0
  159. package/dist/core/sdd/deepagents/runtime-factory.d.ts +90 -0
  160. package/dist/core/sdd/deepagents/runtime-factory.js +231 -0
  161. package/dist/core/sdd/deepagents/runtime-loader.d.ts +16 -0
  162. package/dist/core/sdd/deepagents/runtime-loader.js +65 -0
  163. package/dist/core/sdd/default-bootstrap-files.d.ts +3 -3
  164. package/dist/core/sdd/default-bootstrap-files.js +50 -10
  165. package/dist/core/sdd/default-skills.d.ts +30 -0
  166. package/dist/core/sdd/default-skills.js +288 -8
  167. package/dist/core/sdd/devtrack-api-appliance.d.ts +91 -0
  168. package/dist/core/sdd/devtrack-api-appliance.js +280 -0
  169. package/dist/core/sdd/devtrack-api-architecture.d.ts +31 -0
  170. package/dist/core/sdd/devtrack-api-architecture.js +608 -0
  171. package/dist/core/sdd/devtrack-api-import-boundary.d.ts +19 -0
  172. package/dist/core/sdd/devtrack-api-import-boundary.js +32 -0
  173. package/dist/core/sdd/diagnose.d.ts +59 -0
  174. package/dist/core/sdd/diagnose.js +37 -37
  175. package/dist/core/sdd/docs-sync.js +54 -20
  176. package/dist/core/sdd/domain/capability-diff.d.ts +63 -0
  177. package/dist/core/sdd/domain/capability-diff.js +200 -0
  178. package/dist/core/sdd/domain/change-safety-guardrails.d.ts +74 -0
  179. package/dist/core/sdd/domain/change-safety-guardrails.js +333 -0
  180. package/dist/core/sdd/domain/post-active-validation.d.ts +7 -0
  181. package/dist/core/sdd/domain/post-active-validation.js +61 -0
  182. package/dist/core/sdd/domain/semantic-intent-classifier.d.ts +29 -0
  183. package/dist/core/sdd/domain/semantic-intent-classifier.js +117 -0
  184. package/dist/core/sdd/domain/transition-engine.js +1 -0
  185. package/dist/core/sdd/entity-reference.d.ts +5 -0
  186. package/dist/core/sdd/entity-reference.js +22 -0
  187. package/dist/core/sdd/foundation-artifact-map-validator.d.ts +16 -0
  188. package/dist/core/sdd/foundation-artifact-map-validator.js +71 -0
  189. package/dist/core/sdd/foundation-layer-manifest.d.ts +24 -0
  190. package/dist/core/sdd/foundation-layer-manifest.js +117 -0
  191. package/dist/core/sdd/governance-backfill.d.ts +31 -0
  192. package/dist/core/sdd/governance-backfill.js +359 -0
  193. package/dist/core/sdd/governance-parser.d.ts +21 -0
  194. package/dist/core/sdd/governance-parser.js +91 -0
  195. package/dist/core/sdd/governance-schemas.d.ts +245 -0
  196. package/dist/core/sdd/governance-schemas.js +143 -0
  197. package/dist/core/sdd/{import-openspec.d.ts → import-legacy-spec.d.ts} +7 -7
  198. package/dist/core/sdd/{import-openspec.js → import-legacy-spec.js} +21 -29
  199. package/dist/core/sdd/init.d.ts +3 -0
  200. package/dist/core/sdd/init.js +6 -3
  201. package/dist/core/sdd/intent-guard.d.ts +22 -0
  202. package/dist/core/sdd/intent-guard.js +67 -0
  203. package/dist/core/sdd/json-schema.js +108 -6
  204. package/dist/core/sdd/knowledge-graph.d.ts +45 -0
  205. package/dist/core/sdd/knowledge-graph.js +288 -0
  206. package/dist/core/sdd/legacy-operations.js +507 -44
  207. package/dist/core/sdd/lenses.d.ts +1 -0
  208. package/dist/core/sdd/lenses.js +29 -1
  209. package/dist/core/sdd/migrate-workspace.js +95 -2
  210. package/dist/core/sdd/migrate.d.ts +1 -1
  211. package/dist/core/sdd/migrate.js +36 -2
  212. package/dist/core/sdd/package-security-gates.d.ts +21 -0
  213. package/dist/core/sdd/package-security-gates.js +119 -0
  214. package/dist/core/sdd/package-structure-gate.d.ts +83 -0
  215. package/dist/core/sdd/package-structure-gate.js +357 -0
  216. package/dist/core/sdd/parallel-feat-automation.d.ts +330 -0
  217. package/dist/core/sdd/parallel-feat-automation.js +424 -0
  218. package/dist/core/sdd/plugin-broker.d.ts +777 -0
  219. package/dist/core/sdd/plugin-broker.js +492 -0
  220. package/dist/core/sdd/plugin-certification.d.ts +79 -0
  221. package/dist/core/sdd/plugin-certification.js +453 -0
  222. package/dist/core/sdd/plugin-cli.d.ts +139 -0
  223. package/dist/core/sdd/plugin-cli.js +265 -0
  224. package/dist/core/sdd/plugin-evidence.d.ts +348 -0
  225. package/dist/core/sdd/plugin-evidence.js +307 -0
  226. package/dist/core/sdd/plugin-manifest.d.ts +232 -0
  227. package/dist/core/sdd/plugin-manifest.js +225 -0
  228. package/dist/core/sdd/plugin-policy-pack.d.ts +88 -0
  229. package/dist/core/sdd/plugin-policy-pack.js +236 -0
  230. package/dist/core/sdd/plugin-policy.d.ts +68 -0
  231. package/dist/core/sdd/plugin-policy.js +212 -0
  232. package/dist/core/sdd/plugin-registry.d.ts +447 -0
  233. package/dist/core/sdd/plugin-registry.js +138 -0
  234. package/dist/core/sdd/plugin-sdk-contract.d.ts +363 -0
  235. package/dist/core/sdd/plugin-sdk-contract.js +268 -0
  236. package/dist/core/sdd/plugin-skill-binding.d.ts +151 -0
  237. package/dist/core/sdd/plugin-skill-binding.js +339 -0
  238. package/dist/core/sdd/quality-artifact-manifest-validator.d.ts +28 -0
  239. package/dist/core/sdd/quality-artifact-manifest-validator.js +167 -0
  240. package/dist/core/sdd/quality-evidence-renderer.d.ts +65 -0
  241. package/dist/core/sdd/quality-evidence-renderer.js +218 -0
  242. package/dist/core/sdd/quality-scenario-runner.d.ts +42 -0
  243. package/dist/core/sdd/quality-scenario-runner.js +613 -0
  244. package/dist/core/sdd/quality-validation.d.ts +620 -0
  245. package/dist/core/sdd/quality-validation.js +239 -0
  246. package/dist/core/sdd/release-readiness.d.ts +19 -0
  247. package/dist/core/sdd/release-readiness.js +472 -0
  248. package/dist/core/sdd/resolve-project-root.d.ts +2 -2
  249. package/dist/core/sdd/resolve-project-root.js +11 -5
  250. package/dist/core/sdd/runtime-boundary-contract.d.ts +45 -0
  251. package/dist/core/sdd/runtime-boundary-contract.js +90 -0
  252. package/dist/core/sdd/sanitize.d.ts +30 -1
  253. package/dist/core/sdd/sanitize.js +23 -23
  254. package/dist/core/sdd/sdk-agent-plugin-quality-gates.d.ts +150 -0
  255. package/dist/core/sdd/sdk-agent-plugin-quality-gates.js +258 -0
  256. package/dist/core/sdd/services/agent-run.service.d.ts +97 -0
  257. package/dist/core/sdd/services/agent-run.service.js +261 -0
  258. package/dist/core/sdd/services/breakdown.service.js +2 -1
  259. package/dist/core/sdd/services/capability-diff.service.d.ts +18 -0
  260. package/dist/core/sdd/services/capability-diff.service.js +26 -0
  261. package/dist/core/sdd/services/change-safety-preflight.service.d.ts +17 -0
  262. package/dist/core/sdd/services/change-safety-preflight.service.js +17 -0
  263. package/dist/core/sdd/services/context.service.d.ts +43 -340
  264. package/dist/core/sdd/services/context.service.js +341 -25
  265. package/dist/core/sdd/services/debate.service.js +15 -2
  266. package/dist/core/sdd/services/feature-lint.service.d.ts +22 -0
  267. package/dist/core/sdd/services/feature-lint.service.js +105 -5
  268. package/dist/core/sdd/services/finalize.service.d.ts +105 -0
  269. package/dist/core/sdd/services/finalize.service.js +499 -38
  270. package/dist/core/sdd/services/frontend-gap.service.js +22 -7
  271. package/dist/core/sdd/services/frontend-impact.service.d.ts +1 -1
  272. package/dist/core/sdd/services/governance-control-plane-runtime-adapters.d.ts +17 -0
  273. package/dist/core/sdd/services/governance-control-plane-runtime-adapters.js +38 -0
  274. package/dist/core/sdd/services/governance-control-plane.service.d.ts +66 -0
  275. package/dist/core/sdd/services/governance-control-plane.service.js +134 -0
  276. package/dist/core/sdd/services/ingest-deposito.service.js +1 -1
  277. package/dist/core/sdd/services/legacy-capability.service.d.ts +10 -7
  278. package/dist/core/sdd/services/legacy-capability.service.js +38 -21
  279. package/dist/core/sdd/services/mcp-runtime.service.d.ts +123 -8
  280. package/dist/core/sdd/services/mcp-runtime.service.js +1085 -33
  281. package/dist/core/sdd/services/onboard.service.js +2 -1
  282. package/dist/core/sdd/services/rebuild.service.js +6 -1
  283. package/dist/core/sdd/services/semantic-intent-classifier.service.d.ts +6 -0
  284. package/dist/core/sdd/services/semantic-intent-classifier.service.js +7 -0
  285. package/dist/core/sdd/services/skills-sync.service.d.ts +17 -5
  286. package/dist/core/sdd/services/skills-sync.service.js +55 -2
  287. package/dist/core/sdd/services/start.service.js +6 -4
  288. package/dist/core/sdd/skill-bundles-curation-schema.d.ts +66 -0
  289. package/dist/core/sdd/skill-bundles-curation-schema.js +52 -0
  290. package/dist/core/sdd/skill-evidence.d.ts +19 -0
  291. package/dist/core/sdd/skill-evidence.js +38 -0
  292. package/dist/core/sdd/skill-policy-pool.d.ts +46 -0
  293. package/dist/core/sdd/skill-policy-pool.js +185 -0
  294. package/dist/core/sdd/state.d.ts +23 -0
  295. package/dist/core/sdd/state.js +313 -66
  296. package/dist/core/sdd/store/sdd-stores.js +2 -2
  297. package/dist/core/sdd/structural-health.d.ts +55 -55
  298. package/dist/core/sdd/types.d.ts +60 -19
  299. package/dist/core/sdd/types.js +21 -0
  300. package/dist/core/sdd/upgrade-to-codesdd.d.ts +45 -0
  301. package/dist/core/sdd/upgrade-to-codesdd.js +179 -0
  302. package/dist/core/sdd/views.js +17 -0
  303. package/dist/core/sdd/workspace-schemas.d.ts +670 -19
  304. package/dist/core/sdd/workspace-schemas.js +285 -5
  305. package/dist/core/sdd/write-manifest.js +22 -4
  306. package/dist/core/shared/skill-generation.d.ts +1 -1
  307. package/dist/core/shared/skill-generation.js +15 -15
  308. package/dist/core/shared/tool-detection.d.ts +3 -3
  309. package/dist/core/shared/tool-detection.js +14 -14
  310. package/dist/core/specs-apply.js +6 -6
  311. package/dist/core/templates/index.d.ts +1 -1
  312. package/dist/core/templates/index.js +1 -1
  313. package/dist/core/templates/workflows/apply-change.js +14 -14
  314. package/dist/core/templates/workflows/archive-change.js +32 -32
  315. package/dist/core/templates/workflows/bulk-archive-change.js +25 -25
  316. package/dist/core/templates/workflows/continue-change.js +12 -12
  317. package/dist/core/templates/workflows/explore.js +29 -29
  318. package/dist/core/templates/workflows/feedback.js +6 -6
  319. package/dist/core/templates/workflows/ff-change.js +24 -24
  320. package/dist/core/templates/workflows/new-change.js +20 -20
  321. package/dist/core/templates/workflows/onboard.js +33 -33
  322. package/dist/core/templates/workflows/propose.js +23 -23
  323. package/dist/core/templates/workflows/sdd.js +8 -8
  324. package/dist/core/templates/workflows/sync-specs.js +19 -19
  325. package/dist/core/templates/workflows/verify-change.js +17 -17
  326. package/dist/core/update.d.ts +2 -2
  327. package/dist/core/update.js +16 -15
  328. package/dist/core/validation/constants.d.ts +1 -1
  329. package/dist/core/validation/constants.js +1 -1
  330. package/dist/core/view.js +11 -11
  331. package/dist/domains/sdd/index.d.ts +6 -0
  332. package/dist/domains/sdd/index.js +6 -0
  333. package/dist/infrastructures/sdd/index.d.ts +7 -0
  334. package/dist/infrastructures/sdd/index.js +6 -0
  335. package/dist/presentations/cli/sdd/index.d.ts +3 -0
  336. package/dist/presentations/cli/sdd/index.js +3 -0
  337. package/dist/shared/sdd/index.d.ts +3 -0
  338. package/dist/shared/sdd/index.js +2 -0
  339. package/dist/telemetry/config.d.ts +2 -1
  340. package/dist/telemetry/config.js +17 -8
  341. package/dist/telemetry/index.d.ts +10 -2
  342. package/dist/telemetry/index.js +40 -7
  343. package/dist/ui/ascii-patterns.d.ts +2 -2
  344. package/dist/ui/ascii-patterns.js +2 -2
  345. package/dist/ui/welcome-screen.js +2 -2
  346. package/dist/utils/change-metadata.d.ts +4 -4
  347. package/dist/utils/change-metadata.js +6 -6
  348. package/dist/utils/change-utils.d.ts +3 -3
  349. package/dist/utils/change-utils.js +5 -5
  350. package/dist/utils/file-system.js +1 -1
  351. package/dist/utils/interactive.js +1 -1
  352. package/dist/utils/item-discovery.js +4 -4
  353. package/dist/utils/legacy-spec-compat.d.ts +2 -0
  354. package/dist/utils/legacy-spec-compat.js +2 -0
  355. package/dist/utils/shell-detection.d.ts +1 -0
  356. package/dist/utils/shell-detection.js +16 -0
  357. package/package.json +34 -21
  358. package/schemas/sdd/1-spec.schema.json +1 -1
  359. package/schemas/sdd/2-plan.schema.json +280 -3
  360. package/schemas/sdd/3-tasks.schema.json +73 -1
  361. package/schemas/sdd/4-changelog.schema.json +1 -1
  362. package/schemas/sdd/5-quality.schema.json +701 -5
  363. package/schemas/sdd/adr.schema.json +148 -0
  364. package/schemas/sdd/agent-binding-adapter.schema.json +210 -0
  365. package/schemas/sdd/agent-binding-resolution.schema.json +338 -0
  366. package/schemas/sdd/agent-runtime-command-plan.schema.json +212 -0
  367. package/schemas/sdd/agent-runtime-opencode-run-evidence.schema.json +270 -0
  368. package/schemas/sdd/backlog-projection-plan.schema.json +180 -0
  369. package/schemas/sdd/backlog-provider-contract.schema.json +260 -0
  370. package/schemas/sdd/codesdd-plugin.schema.json +645 -0
  371. package/schemas/sdd/debate.schema.json +244 -0
  372. package/schemas/sdd/deepagent-decision-evidence.schema.json +58 -0
  373. package/schemas/sdd/deepagent-env-contract.schema.json +143 -0
  374. package/schemas/sdd/deepagent-quality-evidence.schema.json +108 -0
  375. package/schemas/sdd/deepagent-run-evidence.schema.json +192 -0
  376. package/schemas/sdd/deepagent-run-plan.schema.json +197 -0
  377. package/schemas/sdd/deepagent-run-request.schema.json +637 -0
  378. package/schemas/sdd/deepagent-subagent-evidence.schema.json +110 -0
  379. package/schemas/sdd/deepagent-tool-call-evidence.schema.json +78 -0
  380. package/schemas/sdd/discarded.schema.json +127 -0
  381. package/schemas/sdd/epic.schema.json +147 -0
  382. package/schemas/sdd/insight.schema.json +136 -0
  383. package/schemas/sdd/parallel-feat-automation-plan.schema.json +304 -0
  384. package/schemas/sdd/parallel-feat-automation-request.schema.json +109 -0
  385. package/schemas/sdd/parallel-feat-scheduler-request.schema.json +116 -0
  386. package/schemas/sdd/parallel-feat-scheduler-result.schema.json +404 -0
  387. package/schemas/sdd/plugin-artifact-manifest.schema.json +259 -0
  388. package/schemas/sdd/plugin-artifact-map.schema.json +223 -0
  389. package/schemas/sdd/plugin-compliance-index.schema.json +136 -0
  390. package/schemas/sdd/plugin-dry-run-plan.schema.json +260 -0
  391. package/schemas/sdd/plugin-evidence-manifest.schema.json +678 -0
  392. package/schemas/sdd/plugin-language-runtime.schema.json +103 -0
  393. package/schemas/sdd/plugin-package-governance.schema.json +74 -0
  394. package/schemas/sdd/plugin-policy-evaluation.schema.json +92 -0
  395. package/schemas/sdd/plugin-policy-pack-evaluation.schema.json +94 -0
  396. package/schemas/sdd/plugin-policy-pack.schema.json +196 -0
  397. package/schemas/sdd/plugin-registry.schema.json +729 -0
  398. package/schemas/sdd/plugin-rollback-manifest.schema.json +87 -0
  399. package/schemas/sdd/plugin-runtime-invocation-plan.schema.json +954 -0
  400. package/schemas/sdd/plugin-skill-binding-resolution.schema.json +305 -0
  401. package/schemas/sdd/plugin-skill-binding.schema.json +88 -0
  402. package/schemas/sdd/plugin-validation-manifest.schema.json +123 -0
  403. package/schemas/sdd/quality-architecture-schema.schema.json +216 -0
  404. package/schemas/sdd/quality-evidence-bundle.schema.json +1337 -0
  405. package/schemas/sdd/quality-run.schema.json +197 -0
  406. package/schemas/sdd/quality-scenario.schema.json +252 -0
  407. package/schemas/sdd/sdk-agent-plugin-quality-gate-input.schema.json +168 -0
  408. package/schemas/sdd/sdk-agent-plugin-quality-gate-report.schema.json +160 -0
  409. package/schemas/sdd/workspace-catalog.schema.json +13232 -35
  410. package/schemas/spec-driven/schema.yaml +4 -4
  411. package/schemas/spec-driven/templates/proposal.md +1 -1
  412. package/dist/utils/openspec-compat.d.ts +0 -2
  413. package/dist/utils/openspec-compat.js +0 -2
@@ -0,0 +1,1337 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schema_version": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "run": {
10
+ "type": "object",
11
+ "properties": {
12
+ "schema_version": {
13
+ "type": "number",
14
+ "const": 1
15
+ },
16
+ "run_id": {
17
+ "type": "string",
18
+ "pattern": "^qrun-[0-9]{8}t[0-9]{6}z-[a-z0-9-]+$"
19
+ },
20
+ "scenario_ref": {
21
+ "type": "string",
22
+ "pattern": "^QVAL-\\d{4}$"
23
+ },
24
+ "feature_ref": {
25
+ "type": "string",
26
+ "pattern": "^FEAT-\\d{4}$"
27
+ },
28
+ "started_at": {
29
+ "type": "string",
30
+ "format": "date-time",
31
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
32
+ },
33
+ "finished_at": {
34
+ "type": "string",
35
+ "format": "date-time",
36
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
37
+ },
38
+ "mode": {
39
+ "type": "string",
40
+ "enum": [
41
+ "dry_run",
42
+ "apply_sandbox",
43
+ "runtime",
44
+ "traceability"
45
+ ]
46
+ },
47
+ "status": {
48
+ "type": "string",
49
+ "enum": [
50
+ "passed",
51
+ "warning",
52
+ "failed",
53
+ "blocked"
54
+ ]
55
+ },
56
+ "plugin_ref": {
57
+ "type": "object",
58
+ "properties": {
59
+ "id": {
60
+ "type": "string",
61
+ "minLength": 1
62
+ },
63
+ "version": {
64
+ "type": "string",
65
+ "minLength": 1
66
+ },
67
+ "capability": {
68
+ "type": "string",
69
+ "minLength": 1
70
+ }
71
+ },
72
+ "required": [
73
+ "id",
74
+ "version",
75
+ "capability"
76
+ ],
77
+ "additionalProperties": false
78
+ },
79
+ "command": {
80
+ "type": "object",
81
+ "properties": {
82
+ "argv": {
83
+ "minItems": 1,
84
+ "type": "array",
85
+ "items": {
86
+ "type": "string",
87
+ "minLength": 1
88
+ }
89
+ },
90
+ "cwd": {
91
+ "default": ".",
92
+ "type": "string",
93
+ "minLength": 1
94
+ },
95
+ "env_keys": {
96
+ "default": [],
97
+ "type": "array",
98
+ "items": {
99
+ "type": "string",
100
+ "minLength": 1
101
+ }
102
+ }
103
+ },
104
+ "required": [
105
+ "argv",
106
+ "cwd",
107
+ "env_keys"
108
+ ],
109
+ "additionalProperties": false
110
+ },
111
+ "schema_versions": {
112
+ "default": {},
113
+ "type": "object",
114
+ "propertyNames": {
115
+ "type": "string"
116
+ },
117
+ "additionalProperties": {
118
+ "type": "string"
119
+ }
120
+ },
121
+ "artifacts": {
122
+ "default": [],
123
+ "type": "array",
124
+ "items": {
125
+ "type": "string",
126
+ "minLength": 1
127
+ }
128
+ },
129
+ "findings": {
130
+ "default": [],
131
+ "type": "array",
132
+ "items": {
133
+ "type": "object",
134
+ "properties": {
135
+ "code": {
136
+ "type": "string",
137
+ "pattern": "^[A-Z][A-Z0-9_]*$"
138
+ },
139
+ "severity": {
140
+ "type": "string",
141
+ "enum": [
142
+ "info",
143
+ "warn",
144
+ "error",
145
+ "blocker"
146
+ ]
147
+ },
148
+ "message": {
149
+ "type": "string",
150
+ "minLength": 1
151
+ },
152
+ "remediation": {
153
+ "type": "string",
154
+ "minLength": 1
155
+ },
156
+ "path": {
157
+ "type": "string",
158
+ "minLength": 1
159
+ },
160
+ "gate_id": {
161
+ "type": "string",
162
+ "minLength": 1
163
+ }
164
+ },
165
+ "required": [
166
+ "code",
167
+ "severity",
168
+ "message",
169
+ "remediation"
170
+ ],
171
+ "additionalProperties": false
172
+ }
173
+ },
174
+ "evidence_bundle_path": {
175
+ "type": "string",
176
+ "minLength": 1
177
+ },
178
+ "metadata": {
179
+ "default": {},
180
+ "type": "object",
181
+ "propertyNames": {
182
+ "type": "string"
183
+ },
184
+ "additionalProperties": {}
185
+ }
186
+ },
187
+ "required": [
188
+ "schema_version",
189
+ "run_id",
190
+ "scenario_ref",
191
+ "feature_ref",
192
+ "started_at",
193
+ "mode",
194
+ "status",
195
+ "command",
196
+ "schema_versions",
197
+ "artifacts",
198
+ "findings",
199
+ "metadata"
200
+ ],
201
+ "additionalProperties": false
202
+ },
203
+ "scenario": {
204
+ "type": "object",
205
+ "properties": {
206
+ "schema_version": {
207
+ "type": "number",
208
+ "const": 1
209
+ },
210
+ "id": {
211
+ "type": "string",
212
+ "pattern": "^QVAL-\\d{4}$"
213
+ },
214
+ "title": {
215
+ "type": "string",
216
+ "minLength": 10
217
+ },
218
+ "feature_ref": {
219
+ "type": "string",
220
+ "pattern": "^FEAT-\\d{4}$"
221
+ },
222
+ "mode": {
223
+ "type": "string",
224
+ "enum": [
225
+ "dry_run",
226
+ "apply_sandbox",
227
+ "runtime",
228
+ "traceability"
229
+ ]
230
+ },
231
+ "intent": {
232
+ "type": "string",
233
+ "minLength": 30
234
+ },
235
+ "authority": {
236
+ "minItems": 1,
237
+ "type": "array",
238
+ "items": {
239
+ "type": "object",
240
+ "properties": {
241
+ "type": {
242
+ "type": "string",
243
+ "enum": [
244
+ "adr",
245
+ "skill",
246
+ "foundation",
247
+ "debate",
248
+ "epic",
249
+ "feature",
250
+ "schema"
251
+ ]
252
+ },
253
+ "ref": {
254
+ "type": "string",
255
+ "minLength": 1
256
+ },
257
+ "path": {
258
+ "type": "string",
259
+ "minLength": 1
260
+ },
261
+ "version": {
262
+ "type": "string",
263
+ "minLength": 1
264
+ },
265
+ "update_policy": {
266
+ "type": "string",
267
+ "minLength": 1
268
+ }
269
+ },
270
+ "required": [
271
+ "type",
272
+ "ref",
273
+ "update_policy"
274
+ ],
275
+ "additionalProperties": false
276
+ }
277
+ },
278
+ "input": {
279
+ "type": "object",
280
+ "properties": {
281
+ "prompt": {
282
+ "type": "string",
283
+ "minLength": 1
284
+ },
285
+ "fixture_path": {
286
+ "type": "string",
287
+ "minLength": 1
288
+ },
289
+ "payload": {
290
+ "default": {},
291
+ "type": "object",
292
+ "propertyNames": {
293
+ "type": "string"
294
+ },
295
+ "additionalProperties": {}
296
+ }
297
+ },
298
+ "required": [
299
+ "payload"
300
+ ],
301
+ "additionalProperties": false
302
+ },
303
+ "expected_artifacts": {
304
+ "default": [],
305
+ "type": "array",
306
+ "items": {
307
+ "type": "object",
308
+ "properties": {
309
+ "path_pattern": {
310
+ "type": "string",
311
+ "minLength": 1
312
+ },
313
+ "required": {
314
+ "default": true,
315
+ "type": "boolean"
316
+ },
317
+ "artifact_class": {
318
+ "type": "string",
319
+ "minLength": 1
320
+ },
321
+ "checksum_required": {
322
+ "default": false,
323
+ "type": "boolean"
324
+ }
325
+ },
326
+ "required": [
327
+ "path_pattern",
328
+ "required",
329
+ "artifact_class",
330
+ "checksum_required"
331
+ ],
332
+ "additionalProperties": false
333
+ }
334
+ },
335
+ "gates": {
336
+ "minItems": 1,
337
+ "type": "array",
338
+ "items": {
339
+ "type": "object",
340
+ "properties": {
341
+ "id": {
342
+ "type": "string",
343
+ "minLength": 1
344
+ },
345
+ "type": {
346
+ "type": "string",
347
+ "enum": [
348
+ "schema",
349
+ "filesystem",
350
+ "import",
351
+ "runtime",
352
+ "evidence",
353
+ "certification",
354
+ "drift"
355
+ ]
356
+ },
357
+ "severity": {
358
+ "default": "warn",
359
+ "type": "string",
360
+ "enum": [
361
+ "warn",
362
+ "fail"
363
+ ]
364
+ },
365
+ "issue_codes": {
366
+ "default": [],
367
+ "type": "array",
368
+ "items": {
369
+ "type": "string",
370
+ "pattern": "^[A-Z][A-Z0-9_]*$"
371
+ }
372
+ },
373
+ "remediation": {
374
+ "type": "string",
375
+ "minLength": 1
376
+ }
377
+ },
378
+ "required": [
379
+ "id",
380
+ "type",
381
+ "severity",
382
+ "issue_codes",
383
+ "remediation"
384
+ ],
385
+ "additionalProperties": false
386
+ }
387
+ },
388
+ "negative_variants": {
389
+ "default": [],
390
+ "type": "array",
391
+ "items": {
392
+ "type": "object",
393
+ "properties": {
394
+ "id": {
395
+ "type": "string",
396
+ "minLength": 1
397
+ },
398
+ "description": {
399
+ "type": "string",
400
+ "minLength": 10
401
+ },
402
+ "expected_issue_codes": {
403
+ "minItems": 1,
404
+ "type": "array",
405
+ "items": {
406
+ "type": "string",
407
+ "pattern": "^[A-Z][A-Z0-9_]*$"
408
+ }
409
+ }
410
+ },
411
+ "required": [
412
+ "id",
413
+ "description",
414
+ "expected_issue_codes"
415
+ ],
416
+ "additionalProperties": false
417
+ }
418
+ },
419
+ "allowed_nondeterminism": {
420
+ "default": [],
421
+ "type": "array",
422
+ "items": {
423
+ "type": "string",
424
+ "minLength": 1
425
+ }
426
+ },
427
+ "required_evidence": {
428
+ "minItems": 1,
429
+ "type": "array",
430
+ "items": {
431
+ "type": "string",
432
+ "minLength": 1
433
+ }
434
+ }
435
+ },
436
+ "required": [
437
+ "schema_version",
438
+ "id",
439
+ "title",
440
+ "mode",
441
+ "intent",
442
+ "authority",
443
+ "input",
444
+ "expected_artifacts",
445
+ "gates",
446
+ "negative_variants",
447
+ "allowed_nondeterminism",
448
+ "required_evidence"
449
+ ],
450
+ "additionalProperties": false
451
+ },
452
+ "architecture_schema": {
453
+ "type": "object",
454
+ "properties": {
455
+ "schema_version": {
456
+ "type": "number",
457
+ "const": 1
458
+ },
459
+ "id": {
460
+ "type": "string",
461
+ "pattern": "^ARCH-GATE-[a-z0-9][a-z0-9-]*$"
462
+ },
463
+ "title": {
464
+ "type": "string",
465
+ "minLength": 10
466
+ },
467
+ "stack": {
468
+ "type": "string",
469
+ "minLength": 1
470
+ },
471
+ "authority": {
472
+ "minItems": 1,
473
+ "type": "array",
474
+ "items": {
475
+ "type": "object",
476
+ "properties": {
477
+ "type": {
478
+ "type": "string",
479
+ "enum": [
480
+ "adr",
481
+ "skill",
482
+ "foundation",
483
+ "debate",
484
+ "epic",
485
+ "feature",
486
+ "schema"
487
+ ]
488
+ },
489
+ "ref": {
490
+ "type": "string",
491
+ "minLength": 1
492
+ },
493
+ "path": {
494
+ "type": "string",
495
+ "minLength": 1
496
+ },
497
+ "version": {
498
+ "type": "string",
499
+ "minLength": 1
500
+ },
501
+ "update_policy": {
502
+ "type": "string",
503
+ "minLength": 1
504
+ }
505
+ },
506
+ "required": [
507
+ "type",
508
+ "ref",
509
+ "update_policy"
510
+ ],
511
+ "additionalProperties": false
512
+ }
513
+ },
514
+ "applies_to": {
515
+ "type": "object",
516
+ "properties": {
517
+ "plugin": {
518
+ "type": "string",
519
+ "minLength": 1
520
+ },
521
+ "capability": {
522
+ "type": "string",
523
+ "minLength": 1
524
+ },
525
+ "project_kind": {
526
+ "type": "string",
527
+ "minLength": 1
528
+ }
529
+ },
530
+ "additionalProperties": false
531
+ },
532
+ "layers": {
533
+ "type": "object",
534
+ "propertyNames": {
535
+ "type": "string",
536
+ "minLength": 1
537
+ },
538
+ "additionalProperties": {
539
+ "type": "object",
540
+ "properties": {
541
+ "path_patterns": {
542
+ "minItems": 1,
543
+ "type": "array",
544
+ "items": {
545
+ "type": "string",
546
+ "minLength": 1
547
+ }
548
+ },
549
+ "allowed_file_patterns": {
550
+ "default": [],
551
+ "type": "array",
552
+ "items": {
553
+ "type": "string",
554
+ "minLength": 1
555
+ }
556
+ },
557
+ "forbidden_file_patterns": {
558
+ "default": [],
559
+ "type": "array",
560
+ "items": {
561
+ "type": "string",
562
+ "minLength": 1
563
+ }
564
+ },
565
+ "allowed_imports": {
566
+ "default": [],
567
+ "type": "array",
568
+ "items": {
569
+ "type": "string",
570
+ "minLength": 1
571
+ }
572
+ },
573
+ "forbidden_imports": {
574
+ "default": [],
575
+ "type": "array",
576
+ "items": {
577
+ "type": "string",
578
+ "minLength": 1
579
+ }
580
+ },
581
+ "required_evidence": {
582
+ "default": [],
583
+ "type": "array",
584
+ "items": {
585
+ "type": "string",
586
+ "minLength": 1
587
+ }
588
+ }
589
+ },
590
+ "required": [
591
+ "path_patterns",
592
+ "allowed_file_patterns",
593
+ "forbidden_file_patterns",
594
+ "allowed_imports",
595
+ "forbidden_imports",
596
+ "required_evidence"
597
+ ],
598
+ "additionalProperties": false
599
+ }
600
+ },
601
+ "exceptions": {
602
+ "type": "object",
603
+ "properties": {
604
+ "require_adr": {
605
+ "default": true,
606
+ "type": "boolean"
607
+ },
608
+ "require_expiration": {
609
+ "default": true,
610
+ "type": "boolean"
611
+ },
612
+ "allowed_refs": {
613
+ "default": [],
614
+ "type": "array",
615
+ "items": {
616
+ "type": "string",
617
+ "minLength": 1
618
+ }
619
+ }
620
+ },
621
+ "required": [
622
+ "require_adr",
623
+ "require_expiration",
624
+ "allowed_refs"
625
+ ],
626
+ "additionalProperties": false
627
+ },
628
+ "update_policy": {
629
+ "type": "object",
630
+ "properties": {
631
+ "owner": {
632
+ "type": "string",
633
+ "minLength": 1
634
+ },
635
+ "review_trigger": {
636
+ "type": "string",
637
+ "minLength": 1
638
+ },
639
+ "stale_after_days": {
640
+ "type": "integer",
641
+ "exclusiveMinimum": 0,
642
+ "maximum": 9007199254740991
643
+ }
644
+ },
645
+ "required": [
646
+ "owner",
647
+ "review_trigger"
648
+ ],
649
+ "additionalProperties": false
650
+ }
651
+ },
652
+ "required": [
653
+ "schema_version",
654
+ "id",
655
+ "title",
656
+ "stack",
657
+ "authority",
658
+ "applies_to",
659
+ "layers",
660
+ "exceptions",
661
+ "update_policy"
662
+ ],
663
+ "additionalProperties": false
664
+ },
665
+ "artifact_manifest": {
666
+ "type": "object",
667
+ "properties": {
668
+ "schema_version": {
669
+ "type": "number",
670
+ "const": 1
671
+ },
672
+ "operation_id": {
673
+ "type": "string",
674
+ "pattern": "^[a-z0-9][a-z0-9-]*$"
675
+ },
676
+ "generated_at": {
677
+ "type": "string",
678
+ "format": "date-time",
679
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
680
+ },
681
+ "feature_ref": {
682
+ "type": "string",
683
+ "pattern": "^FEAT-\\d{4}$"
684
+ },
685
+ "plugin_ref": {
686
+ "type": "object",
687
+ "properties": {
688
+ "id": {
689
+ "type": "string",
690
+ "minLength": 1
691
+ },
692
+ "version": {
693
+ "type": "string",
694
+ "minLength": 1
695
+ }
696
+ },
697
+ "required": [
698
+ "id",
699
+ "version"
700
+ ],
701
+ "additionalProperties": false
702
+ },
703
+ "capability": {
704
+ "type": "string",
705
+ "minLength": 1
706
+ },
707
+ "mode": {
708
+ "type": "string",
709
+ "enum": [
710
+ "dry-run",
711
+ "apply",
712
+ "rollback"
713
+ ]
714
+ },
715
+ "status": {
716
+ "type": "string",
717
+ "enum": [
718
+ "planned",
719
+ "applied",
720
+ "rolled_back",
721
+ "failed"
722
+ ]
723
+ },
724
+ "artifacts": {
725
+ "default": [],
726
+ "type": "array",
727
+ "items": {
728
+ "type": "object",
729
+ "properties": {
730
+ "path": {
731
+ "type": "string",
732
+ "minLength": 1
733
+ },
734
+ "operation": {
735
+ "type": "string",
736
+ "enum": [
737
+ "planned",
738
+ "created",
739
+ "modified",
740
+ "deleted",
741
+ "unchanged",
742
+ "validated"
743
+ ]
744
+ },
745
+ "reason": {
746
+ "type": "string",
747
+ "minLength": 1
748
+ },
749
+ "checksum_before": {
750
+ "type": "string"
751
+ },
752
+ "checksum_after": {
753
+ "type": "string"
754
+ },
755
+ "content_type": {
756
+ "type": "string"
757
+ },
758
+ "artifact_kind": {
759
+ "type": "string",
760
+ "enum": [
761
+ "source",
762
+ "test",
763
+ "documentation",
764
+ "configuration",
765
+ "schema",
766
+ "evidence",
767
+ "migration",
768
+ "asset",
769
+ "package-metadata"
770
+ ]
771
+ },
772
+ "role": {
773
+ "type": "string",
774
+ "enum": [
775
+ "interface",
776
+ "type",
777
+ "implementation",
778
+ "abstraction",
779
+ "business-object",
780
+ "value-object",
781
+ "entity",
782
+ "repository-port",
783
+ "use-case",
784
+ "service",
785
+ "handler",
786
+ "adapter",
787
+ "mapper",
788
+ "module",
789
+ "controller",
790
+ "dto",
791
+ "validator",
792
+ "policy",
793
+ "manifest",
794
+ "fixture",
795
+ "test",
796
+ "documentation",
797
+ "evidence"
798
+ ]
799
+ },
800
+ "layer": {
801
+ "type": "string",
802
+ "enum": [
803
+ "root",
804
+ "domain",
805
+ "application",
806
+ "infrastructure",
807
+ "presentation",
808
+ "shared",
809
+ "tests",
810
+ "docs",
811
+ "sdd",
812
+ "config",
813
+ "assets"
814
+ ]
815
+ },
816
+ "language": {
817
+ "type": "string",
818
+ "enum": [
819
+ "typescript",
820
+ "javascript",
821
+ "python",
822
+ "java",
823
+ "go",
824
+ "rust",
825
+ "csharp",
826
+ "php",
827
+ "ruby",
828
+ "shell",
829
+ "other"
830
+ ]
831
+ },
832
+ "context": {
833
+ "type": "string",
834
+ "minLength": 1
835
+ },
836
+ "implementation": {
837
+ "type": "string",
838
+ "enum": [
839
+ "concrete",
840
+ "abstract",
841
+ "contract",
842
+ "generated",
843
+ "manual"
844
+ ]
845
+ },
846
+ "decision_refs": {
847
+ "type": "array",
848
+ "items": {
849
+ "type": "string",
850
+ "pattern": "^(?:ADR|DEB|EPIC|FEAT|INS)-\\d{4}$"
851
+ }
852
+ },
853
+ "source_refs": {
854
+ "type": "array",
855
+ "items": {
856
+ "type": "string",
857
+ "minLength": 1
858
+ }
859
+ },
860
+ "tags": {
861
+ "type": "array",
862
+ "items": {
863
+ "type": "string",
864
+ "minLength": 1
865
+ }
866
+ }
867
+ },
868
+ "required": [
869
+ "path",
870
+ "operation",
871
+ "reason"
872
+ ],
873
+ "additionalProperties": false
874
+ }
875
+ },
876
+ "validation_evidence": {
877
+ "default": [],
878
+ "type": "array",
879
+ "items": {
880
+ "type": "object",
881
+ "properties": {
882
+ "command": {
883
+ "type": "string",
884
+ "minLength": 1
885
+ },
886
+ "status": {
887
+ "type": "string",
888
+ "enum": [
889
+ "pending",
890
+ "passed",
891
+ "failed",
892
+ "skipped"
893
+ ]
894
+ },
895
+ "evidence_ref": {
896
+ "type": "string"
897
+ }
898
+ },
899
+ "required": [
900
+ "command",
901
+ "status"
902
+ ],
903
+ "additionalProperties": false
904
+ }
905
+ }
906
+ },
907
+ "required": [
908
+ "schema_version",
909
+ "operation_id",
910
+ "generated_at",
911
+ "feature_ref",
912
+ "plugin_ref",
913
+ "capability",
914
+ "mode",
915
+ "status",
916
+ "artifacts",
917
+ "validation_evidence"
918
+ ],
919
+ "additionalProperties": false
920
+ },
921
+ "validation_manifest": {
922
+ "type": "object",
923
+ "properties": {
924
+ "schema_version": {
925
+ "type": "number",
926
+ "const": 1
927
+ },
928
+ "operation_id": {
929
+ "type": "string",
930
+ "pattern": "^[a-z0-9][a-z0-9-]*$"
931
+ },
932
+ "generated_at": {
933
+ "type": "string",
934
+ "format": "date-time",
935
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
936
+ },
937
+ "feature_ref": {
938
+ "type": "string",
939
+ "pattern": "^FEAT-\\d{4}$"
940
+ },
941
+ "plugin_ref": {
942
+ "type": "object",
943
+ "properties": {
944
+ "id": {
945
+ "type": "string",
946
+ "minLength": 1
947
+ },
948
+ "version": {
949
+ "type": "string",
950
+ "minLength": 1
951
+ }
952
+ },
953
+ "required": [
954
+ "id",
955
+ "version"
956
+ ],
957
+ "additionalProperties": false
958
+ },
959
+ "capability": {
960
+ "type": "string",
961
+ "minLength": 1
962
+ },
963
+ "status": {
964
+ "type": "string",
965
+ "enum": [
966
+ "pending",
967
+ "passed",
968
+ "failed",
969
+ "partial"
970
+ ]
971
+ },
972
+ "validations": {
973
+ "default": [],
974
+ "type": "array",
975
+ "items": {
976
+ "type": "object",
977
+ "properties": {
978
+ "command": {
979
+ "type": "string",
980
+ "minLength": 1
981
+ },
982
+ "status": {
983
+ "type": "string",
984
+ "enum": [
985
+ "pending",
986
+ "passed",
987
+ "failed",
988
+ "skipped"
989
+ ]
990
+ },
991
+ "evidence_ref": {
992
+ "type": "string"
993
+ },
994
+ "coverage": {
995
+ "type": "object",
996
+ "properties": {
997
+ "statements": {
998
+ "type": "number",
999
+ "minimum": 0,
1000
+ "maximum": 100
1001
+ },
1002
+ "branches": {
1003
+ "type": "number",
1004
+ "minimum": 0,
1005
+ "maximum": 100
1006
+ },
1007
+ "functions": {
1008
+ "type": "number",
1009
+ "minimum": 0,
1010
+ "maximum": 100
1011
+ },
1012
+ "lines": {
1013
+ "type": "number",
1014
+ "minimum": 0,
1015
+ "maximum": 100
1016
+ }
1017
+ },
1018
+ "additionalProperties": false
1019
+ }
1020
+ },
1021
+ "required": [
1022
+ "command",
1023
+ "status"
1024
+ ],
1025
+ "additionalProperties": false
1026
+ }
1027
+ }
1028
+ },
1029
+ "required": [
1030
+ "schema_version",
1031
+ "operation_id",
1032
+ "generated_at",
1033
+ "feature_ref",
1034
+ "plugin_ref",
1035
+ "capability",
1036
+ "status",
1037
+ "validations"
1038
+ ],
1039
+ "additionalProperties": false
1040
+ },
1041
+ "compliance_index": {
1042
+ "type": "object",
1043
+ "properties": {
1044
+ "schema_version": {
1045
+ "type": "number",
1046
+ "const": 1
1047
+ },
1048
+ "generated_at": {
1049
+ "type": "string",
1050
+ "format": "date-time",
1051
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
1052
+ },
1053
+ "feature_ref": {
1054
+ "type": "string",
1055
+ "pattern": "^FEAT-\\d{4}$"
1056
+ },
1057
+ "operation_id": {
1058
+ "type": "string",
1059
+ "pattern": "^[a-z0-9][a-z0-9-]*$"
1060
+ },
1061
+ "plugin_ref": {
1062
+ "type": "object",
1063
+ "properties": {
1064
+ "id": {
1065
+ "type": "string",
1066
+ "minLength": 1
1067
+ },
1068
+ "version": {
1069
+ "type": "string",
1070
+ "minLength": 1
1071
+ }
1072
+ },
1073
+ "required": [
1074
+ "id",
1075
+ "version"
1076
+ ],
1077
+ "additionalProperties": false
1078
+ },
1079
+ "capability": {
1080
+ "type": "string",
1081
+ "minLength": 1
1082
+ },
1083
+ "score": {
1084
+ "type": "number",
1085
+ "minimum": 0,
1086
+ "maximum": 100
1087
+ },
1088
+ "decision": {
1089
+ "type": "string",
1090
+ "enum": [
1091
+ "compliant",
1092
+ "warning",
1093
+ "non-compliant"
1094
+ ]
1095
+ },
1096
+ "criteria": {
1097
+ "minItems": 1,
1098
+ "type": "array",
1099
+ "items": {
1100
+ "type": "object",
1101
+ "properties": {
1102
+ "id": {
1103
+ "type": "string",
1104
+ "minLength": 1
1105
+ },
1106
+ "label": {
1107
+ "type": "string",
1108
+ "minLength": 1
1109
+ },
1110
+ "status": {
1111
+ "type": "string",
1112
+ "enum": [
1113
+ "pass",
1114
+ "warn",
1115
+ "fail"
1116
+ ]
1117
+ },
1118
+ "score": {
1119
+ "type": "number",
1120
+ "minimum": 0
1121
+ },
1122
+ "max_score": {
1123
+ "type": "number",
1124
+ "exclusiveMinimum": 0
1125
+ },
1126
+ "evidence": {
1127
+ "type": "string",
1128
+ "minLength": 1
1129
+ },
1130
+ "issues": {
1131
+ "default": [],
1132
+ "type": "array",
1133
+ "items": {
1134
+ "type": "string",
1135
+ "minLength": 1
1136
+ }
1137
+ }
1138
+ },
1139
+ "required": [
1140
+ "id",
1141
+ "label",
1142
+ "status",
1143
+ "score",
1144
+ "max_score",
1145
+ "evidence",
1146
+ "issues"
1147
+ ],
1148
+ "additionalProperties": false
1149
+ }
1150
+ },
1151
+ "evidence_refs": {
1152
+ "default": [],
1153
+ "type": "array",
1154
+ "items": {
1155
+ "type": "string",
1156
+ "minLength": 1
1157
+ }
1158
+ }
1159
+ },
1160
+ "required": [
1161
+ "schema_version",
1162
+ "generated_at",
1163
+ "feature_ref",
1164
+ "operation_id",
1165
+ "plugin_ref",
1166
+ "capability",
1167
+ "score",
1168
+ "decision",
1169
+ "criteria",
1170
+ "evidence_refs"
1171
+ ],
1172
+ "additionalProperties": false
1173
+ },
1174
+ "filesystem_snapshot": {
1175
+ "type": "object",
1176
+ "properties": {
1177
+ "root": {
1178
+ "default": ".",
1179
+ "type": "string",
1180
+ "minLength": 1
1181
+ },
1182
+ "files": {
1183
+ "default": [],
1184
+ "type": "array",
1185
+ "items": {
1186
+ "type": "object",
1187
+ "properties": {
1188
+ "path": {
1189
+ "type": "string",
1190
+ "minLength": 1
1191
+ },
1192
+ "size_bytes": {
1193
+ "type": "integer",
1194
+ "minimum": 0,
1195
+ "maximum": 9007199254740991
1196
+ },
1197
+ "sha256": {
1198
+ "type": "string",
1199
+ "minLength": 1
1200
+ }
1201
+ },
1202
+ "required": [
1203
+ "path",
1204
+ "size_bytes"
1205
+ ],
1206
+ "additionalProperties": false
1207
+ }
1208
+ }
1209
+ },
1210
+ "required": [
1211
+ "root",
1212
+ "files"
1213
+ ],
1214
+ "additionalProperties": false
1215
+ },
1216
+ "import_graph": {
1217
+ "type": "object",
1218
+ "properties": {
1219
+ "nodes": {
1220
+ "default": [],
1221
+ "type": "array",
1222
+ "items": {
1223
+ "type": "string",
1224
+ "minLength": 1
1225
+ }
1226
+ },
1227
+ "edges": {
1228
+ "default": [],
1229
+ "type": "array",
1230
+ "items": {
1231
+ "type": "object",
1232
+ "properties": {
1233
+ "from": {
1234
+ "type": "string",
1235
+ "minLength": 1
1236
+ },
1237
+ "to": {
1238
+ "type": "string",
1239
+ "minLength": 1
1240
+ },
1241
+ "kind": {
1242
+ "default": "relative",
1243
+ "type": "string",
1244
+ "enum": [
1245
+ "relative",
1246
+ "package",
1247
+ "alias"
1248
+ ]
1249
+ }
1250
+ },
1251
+ "required": [
1252
+ "from",
1253
+ "to",
1254
+ "kind"
1255
+ ],
1256
+ "additionalProperties": false
1257
+ }
1258
+ }
1259
+ },
1260
+ "required": [
1261
+ "nodes",
1262
+ "edges"
1263
+ ],
1264
+ "additionalProperties": false
1265
+ },
1266
+ "command_log_ref": {
1267
+ "type": "string",
1268
+ "minLength": 1
1269
+ },
1270
+ "exceptions": {
1271
+ "default": [],
1272
+ "type": "array",
1273
+ "items": {
1274
+ "type": "object",
1275
+ "properties": {
1276
+ "ref": {
1277
+ "type": "string",
1278
+ "minLength": 1
1279
+ },
1280
+ "reason": {
1281
+ "type": "string",
1282
+ "minLength": 1
1283
+ },
1284
+ "expires_at": {
1285
+ "type": "string",
1286
+ "format": "date-time",
1287
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
1288
+ },
1289
+ "compensating_control": {
1290
+ "type": "string",
1291
+ "minLength": 1
1292
+ }
1293
+ },
1294
+ "required": [
1295
+ "ref",
1296
+ "reason",
1297
+ "compensating_control"
1298
+ ],
1299
+ "additionalProperties": false
1300
+ }
1301
+ },
1302
+ "checksums": {
1303
+ "default": [],
1304
+ "type": "array",
1305
+ "items": {
1306
+ "type": "object",
1307
+ "properties": {
1308
+ "path": {
1309
+ "type": "string",
1310
+ "minLength": 1
1311
+ },
1312
+ "sha256": {
1313
+ "type": "string",
1314
+ "minLength": 1
1315
+ }
1316
+ },
1317
+ "required": [
1318
+ "path",
1319
+ "sha256"
1320
+ ],
1321
+ "additionalProperties": false
1322
+ }
1323
+ }
1324
+ },
1325
+ "required": [
1326
+ "schema_version",
1327
+ "run",
1328
+ "scenario",
1329
+ "filesystem_snapshot",
1330
+ "import_graph",
1331
+ "exceptions",
1332
+ "checksums"
1333
+ ],
1334
+ "additionalProperties": false,
1335
+ "title": "CodeSDD Quality Evidence Bundle",
1336
+ "description": "Machine-readable evidence bundle contract tying scenario, run, artifacts, checksums, findings, and exceptions together."
1337
+ }