@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
@@ -327,21 +327,21 @@ class CreateAppointmentUseCase:
327
327
 
328
328
  ---
329
329
 
330
- ## OpenSDD decision-support mode (never runtime dependency)
330
+ ## CodeSDD decision-support mode (never runtime dependency)
331
331
 
332
- Use this mode when the target repository already has a `.sdd/` root and the team is using OpenSDD planning artifacts.
332
+ Use this mode when the target repository already has a `.sdd/` root and the team is using CodeSDD planning artifacts.
333
333
 
334
- The goal is to improve architecture decisions with explicit traceability, not to add OpenSDD runtime dependencies to generated Flask code.
334
+ The goal is to improve architecture decisions with explicit traceability, not to add CodeSDD runtime dependencies to generated Flask code.
335
335
 
336
- ### Mandatory OpenSDD workflow for architecture decisions
336
+ ### Mandatory CodeSDD workflow for architecture decisions
337
337
 
338
- 1. Run `opensdd sdd onboard system` before broad design work.
339
- 2. Run `opensdd sdd next` and select active or ready work.
340
- 3. Run `opensdd sdd context <FEAT-ID>` before drafting architecture changes.
338
+ 1. Run `codesdd sdd onboard system` before broad design work.
339
+ 2. Run `codesdd sdd next` and select active or ready work.
340
+ 3. Run `codesdd sdd context <FEAT-ID>` before drafting architecture changes.
341
341
  4. Keep `.sdd/active/<FEAT-ID>/5-quality.yaml` updated with decision evidence and risks.
342
- 5. Declare interface impact with `opensdd sdd frontend-impact <FEAT-ID> ...` even when status is `none`.
343
- 6. Run `opensdd sdd check --render` after updates; run `opensdd sdd diagnose` when structure drift is suspected.
344
- 7. Consolidate with `opensdd sdd finalize --ref <FEAT-ID>` only after quality evidence is recorded.
342
+ 5. Declare interface impact with `codesdd sdd frontend-impact <FEAT-ID> ...` even when status is `none`.
343
+ 6. Run `codesdd sdd check --render` after updates; run `codesdd sdd diagnose` when structure drift is suspected.
344
+ 7. Consolidate with `codesdd sdd finalize --ref <FEAT-ID>` only after quality evidence is recorded.
345
345
 
346
346
  ### How to use INS/DEB/EPIC/FEAT as decision layers
347
347
 
@@ -368,10 +368,10 @@ Use these prompts and record answers in FEAT notes/quality evidence:
368
368
 
369
369
  ### Runtime-boundary guardrails
370
370
 
371
- - OpenSDD files and commands are planning/governance tools only.
372
- - Generated Flask code must not import from `.sdd`, parse OpenSDD YAML, or shell out to `opensdd`.
373
- - Domain and application layers must stay independent of OpenSDD metadata and CLI semantics.
374
- - If a project does not use OpenSDD, keep the same architecture rules and capture decisions in equivalent project docs.
371
+ - CodeSDD files and commands are planning/governance tools only.
372
+ - Generated Flask code must not import from `.sdd`, parse CodeSDD YAML, or shell out to `codesdd`.
373
+ - Domain and application layers must stay independent of CodeSDD metadata and CLI semantics.
374
+ - If a project does not use CodeSDD, keep the same architecture rules and capture decisions in equivalent project docs.
375
375
 
376
376
  ### Quality-contract usage in this mode
377
377
 
@@ -382,7 +382,7 @@ For each major architecture decision, update the active FEAT quality artifact wi
382
382
  - accepted risks and compensating controls;
383
383
  - command evidence (`check --render`, tests, build) and timestamped results.
384
384
 
385
- This keeps decision history auditable without leaking OpenSDD concerns into runtime code.
385
+ This keeps decision history auditable without leaking CodeSDD concerns into runtime code.
386
386
 
387
387
  ---
388
388
 
@@ -2618,7 +2618,7 @@ These gates keep the skill reviewable and traceable to EPIC-0016 without relying
2618
2618
  | --- | --- | --- | --- |
2619
2619
  | GATE-ARCH-BOUNDARY | Domain/application remain framework-free; adapters stay in interface/infrastructure layers | Clean Architecture boundaries and dependency direction | `## Python/Flask Clean Architecture boundary contract`, `Must not depend on` |
2620
2620
  | GATE-SEC-AUTHORITY | Tenant/security authority comes from validated principal (JWT/context), never from payload or LLM output | Tenant isolation and security authority source | `tenant_id obrigatório`, `WebSocket payload is never authority` |
2621
- | GATE-OPENSDD-BOUNDARY | OpenSDD is decision-support only; generated runtime code must not import OpenSDD artifacts | OpenSDD support with runtime boundary safety | `## OpenSDD decision-support mode (never runtime dependency)`, `must not import from `.sdd`` |
2621
+ | GATE-CODESDD-BOUNDARY | CodeSDD is decision-support only; generated runtime code must not import CodeSDD artifacts | CodeSDD support with runtime boundary safety | `## CodeSDD decision-support mode (never runtime dependency)`, `must not import from `.sdd`` |
2622
2622
  | GATE-PROD-VERSIONING | Production guidance remains provider/model agnostic and version-sensitive APIs are labeled | Production readiness and version-aware guidance | `## Production-readiness guidance (safe and version-aware)`, `Version-sensitive API policy (validated or conceptual)` |
2623
2623
  | GATE-VALIDATION-STRATEGY | Validation uses stable required anchors/rules instead of prose snapshots | Maintainable quality gate evidence | `Avoid whole-document snapshots`, `Prefer required headings and key rules` |
2624
2624
 
@@ -2632,7 +2632,7 @@ These gates keep the skill reviewable and traceable to EPIC-0016 without relying
2632
2632
  Recommended minimum anchors for seeded-skill tests:
2633
2633
 
2634
2634
  - `## Python/Flask Clean Architecture boundary contract`
2635
- - `## OpenSDD decision-support mode (never runtime dependency)`
2635
+ - `## CodeSDD decision-support mode (never runtime dependency)`
2636
2636
  - `## Production-readiness guidance (safe and version-aware)`
2637
2637
  - `Version-sensitive API policy (validated or conceptual)`
2638
2638
  - `Redis Pub/Sub versus Streams and outbox`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: devtrack-api
3
- description: Model-agnostic engineering skill for the DevTrack Foundation API and derived DevTrack APIs. Use it to implement, review, refactor, test, document, or govern NestJS TypeScript backend work using DDD, Hexagonal Architecture, Clean Architecture, TypeORM, OpenSDD, strict import boundaries, layered modules under domain, application, presentation, infrastructure, and shared, plus safe operational practices, evidence-based validation, and quality handoff.
3
+ description: Model-agnostic engineering skill for the DevTrack Foundation API and derived DevTrack APIs. Use it to implement, review, refactor, test, document, or govern NestJS TypeScript backend work using DDD, Hexagonal Architecture, Clean Architecture, TypeORM, CodeSDD, strict import boundaries, layered modules under domain, application, presentation, infrastructure, and shared, plus safe operational practices, evidence-based validation, and quality handoff.
4
4
  ---
5
5
 
6
6
  # DevTrack API
@@ -19,24 +19,29 @@ These rules apply to any assistant, automation host, IDE agent, command-line cod
19
19
  - Prefer repository evidence over memory, assumptions, examples, or generated guesses.
20
20
  - Do not invent APIs, flags, files, package scripts, class names, module names, environment variables, database objects, or behavior.
21
21
  - Verify version-sensitive details from local files such as `package.json`, lockfiles, configs, migrations, source code, or official docs when available.
22
- - Keep work scoped to the user request and the active OpenSDD feature when one exists.
22
+ - Keep work scoped to the user request and the active CodeSDD feature when one exists.
23
23
  - Preserve user changes in a dirty worktree. Never overwrite unrelated modifications.
24
24
  - Avoid destructive actions unless the user explicitly requested them and the scope is clear.
25
25
  - Never expose, copy, log, commit, or summarize real secrets.
26
26
  - Do not create external memory, backlog, workflow, scratchpad, context, or handoff stores.
27
27
  - Do not use BRV in this environment.
28
28
  - Never introduce Prisma. Persistence is TypeORM only.
29
+ - Treat this skill as isolated from `devtrack-angular` and `devtrack-flutter`; share only explicit API contracts, DTO boundaries, schemas, generated clients, and documented platform contracts.
30
+ - Treat `agents/*.yaml` files as host adapters only. `SKILL.md`, `references/contract-pack.yaml`, and the Foundation source/layout references remain canonical across Codex, Claude Code, Cursor, Gemini, Kimi, OpenCode, and equivalent markdown/CLI agents.
31
+ - If this skill conflicts with `devtrack-foundation-api` source or Foundation layout evidence, Foundation wins unless a governed ADR or contract-pack exception explicitly records the divergence.
29
32
 
30
33
  ## Operating Mode
31
34
 
32
- Repository files are the source for implementation facts. OpenSDD is the source for operational planning, progress, dependencies, blockers, quality, and handoff.
35
+ Repository files are the source for implementation facts. CodeSDD is the source for operational planning, progress, dependencies, blockers, quality, and handoff.
36
+
37
+ When CodeSDD is governing a project and the user asks for API or backend work without explicitly selecting another skill/profile, `devtrack-api` is the default API skill. Explicit Python/Flask/LangGraph API work uses the dedicated Python skill/profile instead.
33
38
 
34
39
  Before edits in the API repository:
35
40
 
36
41
  1. Read the nearest `AGENTS.md` and `AGENT.md`.
37
- 2. Run `opensdd sdd onboard system`.
38
- 3. Run `opensdd sdd next`.
39
- 4. If SDD returns a ready or active feature id, run `opensdd sdd context <FEAT-ID>` before coding.
42
+ 2. Run `codesdd sdd onboard system`.
43
+ 3. Run `codesdd sdd next`.
44
+ 4. If SDD returns a ready or active feature id, run `codesdd sdd context <FEAT-ID>` before coding.
40
45
  5. If no feature id is available but the user explicitly requested the work, continue narrowly and state the SDD exception in the final handoff.
41
46
  6. Check `git status --short` before editing and before the final handoff.
42
47
  7. Inspect nearby implementation files before creating new patterns.
@@ -56,21 +61,40 @@ Treat the repository as a production-grade system:
56
61
 
57
62
  ## Reference Map
58
63
 
59
- Load only the files needed for the task, but always load governance before code changes:
64
+ Load only the files needed for the task, but always load governance and layout before code changes:
60
65
 
66
+ - Always read [contract-pack.yaml](references/contract-pack.yaml) before planning, approving, or executing a `devtrack-api` project, debate, EPIC, or FEAT. It is the machine-readable contract pack for derivation profiles, P0/P1/P2 severity, early package preview, human validation, and `codesdd-validate` drift remediation.
67
+ - Read [portable-agent-contract.md](references/portable-agent-contract.md) when adapting this skill for Codex, Claude Code, Cursor, Gemini, Kimi, OpenCode, or a generic markdown/CLI agent.
61
68
  - Always read [architecture-governance.md](references/architecture-governance.md) before code changes.
69
+ - Always read [foundation-layout.md](references/foundation-layout.md) before producing any implementation plan, debate, or code change that proposes new file paths. Foundation layout is canonical, not advisory.
70
+ - Read [consumer-sync-policy.md](references/consumer-sync-policy.md) before copying, updating, validating, or accepting `devtrack-api` in a consumer repository.
71
+ - Read [field-validation-protocol.md](references/field-validation-protocol.md) before declaring `devtrack-api` adoption validated in a consumer project or closing field-evidence expectations.
62
72
  - Read [imports-lint.md](references/imports-lint.md) before editing imports or fixing lint.
63
- - Read [domain-modeling.md](references/domain-modeling.md) for `domain/`, `.type.ts`, `.bo.ts`, `.vo.ts`, validators, events, and repository ports.
73
+ - Read [domain-modeling.md](references/domain-modeling.md) for `domain/`, `.type.ts`, `.bo.ts`, `.vo.ts`, the closed legacy entity-pattern, validators, events, and repository-port placement.
64
74
  - Read [application-presentation.md](references/application-presentation.md) for use cases, services, handlers, ports, modules, controllers, DTO validators, GraphQL, CLI, WebSocket, agents, and tools.
65
75
  - Read [typeorm-infrastructure.md](references/typeorm-infrastructure.md) for TypeORM entities, repositories, mappers, migrations, modules, config, infrastructure adapters, settings, queues, AWS, and provider integrations.
66
76
  - Read [testing-validation.md](references/testing-validation.md) before finishing or when choosing tests.
67
77
  - Use [implementation-checklist.md](references/implementation-checklist.md) as the final pass checklist.
68
78
 
79
+ ## Contract Pack And Derivation Profiles
80
+
81
+ The structured contract lives in [contract-pack.yaml](references/contract-pack.yaml). Treat it as the executable policy source that future CodeSDD gates can import. The Markdown skill explains the rules; the YAML contract names the profiles, severities, rule ids, drift map, and evidence expectations.
82
+
83
+ Every `devtrack-api` plan must select exactly one profile before implementation:
84
+
85
+ - `prototype`: exploratory only. It cannot be reported as Foundation-compatible unless a later FEAT upgrades and validates it.
86
+ - `foundation-compatible`: default for derived DevTrack APIs. P0 drift blocks finalize; P1 drift requires remediation or formal exception.
87
+ - `enterprise-strict`: audit-grade mode. P0 and P1 drift block finalize; P2 drift requires evidence or ADR-backed exception.
88
+
89
+ For the first two or three DEBs of a new `devtrack-api` project or major API theme, CodeSDD must generate a package-structure preview and ask the human planner to approve or correct it before FEAT execution. Missing profile selection, missing preview, missing human validation, or declarative-only skill evidence are contract defects.
90
+
91
+ The `codesdd-validate` field failure is mapped in the contract pack under `codesdd_validate_drift_map`. Future planning, validator, finalize, provenance, and field-validation FEATs must consume that map instead of reinterpreting the failure from memory.
92
+
69
93
  ## Layer Order
70
94
 
71
95
  Implement from inside out unless the task is purely presentation or infrastructure:
72
96
 
73
- 1. `src/domain`: business rules, BOs, VOs, types, validators, events, repository port contracts.
97
+ 1. `src/domain`: business rules, BOs, VOs, and types. Validators, events, entities, and domain repository ports are legacy entity-pattern only.
74
98
  2. `src/application`: orchestration, use cases, services, handlers, agents/tools, ports in/out.
75
99
  3. `src/infrastructure`: concrete adapters, TypeORM, AWS, queue, cache, HTTP, LLM, vector store, Temporal, settings.
76
100
  4. `src/presentation`: REST/GraphQL/CLI/WebSocket entrypoints and request validation.
@@ -83,29 +107,144 @@ Dependency direction is strict:
83
107
  - `presentation` must not import concrete infrastructure.
84
108
  - `infrastructure` implements ports defined by `domain` or `application`.
85
109
 
86
- ## Non-Negotiable Naming
87
-
88
- - Domain types: `src/domain/<context>/types/<name>.type.ts`.
89
- - Business objects: `src/domain/<context>/business-objects/<name>.bo.ts`.
90
- - Value objects: `src/domain/<context>/value-objects/<name>.vo.ts`.
91
- - Domain entities, where the context already uses entities: `<name>.entity.ts`.
92
- - Domain repository ports: `src/domain/<context>/repository-ports/<name>-repository.port.ts`.
93
- - Application ports: `src/application/<context>/<module>/ports/in/*.port.ts` and `ports/out/*.port.ts`.
94
- - Use cases: `<verb-noun>.use-case.ts`.
95
- - Services: `<name>.service.ts`.
96
- - Handlers: `<name>.handler.ts`.
97
- - REST controllers: `<verb-noun>.controller.ts`, one controller class per file.
98
- - Presentation validators: `<verb-noun>.presentation-validator.ts`.
99
- - TypeORM entities: `<name>.orm-entity.ts`.
100
- - TypeORM repositories: `<name>.typeorm-repository.ts`.
101
- - TypeORM mappers: `<name>.mapper.ts`.
102
- - TypeORM migrations: `<timestamp>-<action>.migration.ts`.
103
- - Nest modules: `<module>.application.module.ts`, `<module>.module.ts`, or `<module>-orm.module.ts` by layer.
110
+ ## Domain Pattern Decision Rule
111
+
112
+ Before touching domain, decide which of the two coexisting patterns applies. The choice is binary and prescriptive — not stylistic.
113
+
114
+ - **BO-pattern (default for every new context).** Domain artifacts live as `business-objects/<name>.bo.ts`, `value-objects/<name>.vo.ts`, and `types/<name>.type.ts`. **Do not create** `entities/` or `repository-ports/` folders in domain. Repository ports for this pattern live in **application** (`ports/out/`).
115
+ - **Entity-pattern (legacy, extension only).** Applies only when extending a context that **already uses** `entities/` in `devtrack-foundation-api`. The current legacy set is exactly: `pessoas`, `wallets`. Introducing `entities/` to any other domain context requires an ADR; otherwise it is forbidden.
116
+
117
+ When in doubt about a context's pattern, verify the physical layout in `devtrack-foundation-api/src/domain/<context>/` — that is the ground truth. The rule is enforced by [foundation-layout.md](references/foundation-layout.md).
118
+
119
+ ## Canonical Paths
120
+
121
+ These paths are non-negotiable. Any file proposed in an implementation plan, debate, or code change must match one of these patterns exactly.
122
+
123
+ **Domain (BO-pattern default)**
124
+
125
+ ```text
126
+ src/domain/<context>/business-objects/<name>.bo.ts
127
+ src/domain/<context>/value-objects/<name>.vo.ts (optional)
128
+ src/domain/<context>/types/<name>.type.ts
129
+ src/domain/<context>/constants/<name>.const.ts (optional)
130
+ ```
131
+
132
+ **Domain (entity-pattern — legacy `pessoas` and `wallets` only)**
133
+
134
+ ```text
135
+ src/domain/<context>/entities/<name>.entity.ts
136
+ src/domain/<context>/repository-ports/<name>-repository.port.ts
137
+ src/domain/<context>/validators/<name>.validator.ts
138
+ src/domain/<context>/events/<name>-<event>.event.ts (optional)
139
+ src/domain/<context>/types/<name>.type.ts
140
+ ```
141
+
142
+ **Shared domain primitives (centralized, never per-context)**
143
+
144
+ ```text
145
+ src/shared/domain/exceptions/<name>.exception.ts
146
+ src/shared/domain/value-objects/<name>.vo.ts
147
+ src/shared/domain/validators/<name>.validator.ts
148
+ src/shared/domain/types/<name>.type.ts
149
+ ```
150
+
151
+ **Application**
152
+
153
+ ```text
154
+ src/application/business/<context>/use-cases/<verb-noun>.use-case.ts
155
+ src/application/business/<context>/ports/in/<verb-noun>.use-case.port.ts
156
+ src/application/business/<context>/ports/out/<name>.port.ts
157
+ src/application/business/<context>/ports/out/<name>-repository.port.ts (BO-pattern only)
158
+ src/application/business/<context>/services/<name>.service.ts
159
+ src/application/business/<context>/handlers/<name>.handler.ts
160
+ src/application/business/<context>/<context>.application.module.ts
161
+ ```
162
+
163
+ Foundation-compatible intelligence modules are canonical application-layer modules. They use the same boundary rules as `business` modules, with provider-neutral orchestration in application and provider-specific integrations in infrastructure.
164
+
165
+ ```text
166
+ src/application/intelligence/<context>/use-cases/<verb-noun>.use-case.ts
167
+ src/application/intelligence/<context>/ports/in/<verb-noun>.use-case.port.ts
168
+ src/application/intelligence/<context>/ports/out/<name>.port.ts
169
+ src/application/intelligence/<context>/services/<name>.service.ts
170
+ src/application/intelligence/<context>/handlers/<name>.handler.ts
171
+ src/application/intelligence/<context>/agents/<name>.agent.ts
172
+ src/application/intelligence/<context>/tools/<name>.tool.ts
173
+ src/application/intelligence/common/agent-runtime/<name>.ts
174
+ ```
175
+
176
+ Current Foundation intelligence contexts: `common`, `conversation`, `course-agents`, `report-chat`.
177
+
178
+ **Infrastructure (centralized by subsystem — never by business context)**
179
+
180
+ ```text
181
+ src/infrastructure/adapters/<subsystem>/<name>.adapter.ts
182
+ src/infrastructure/adapters/<subsystem>/<subsystem>.module.ts
183
+ src/infrastructure/adapters/orm/entities/<name>.orm-entity.ts
184
+ src/infrastructure/adapters/orm/repositories/<name>.typeorm-repository.ts
185
+ src/infrastructure/adapters/orm/mappers/<name>.mapper.ts
186
+ src/infrastructure/adapters/orm/migrations/<timestamp>-<action>.migration.ts
187
+ src/infrastructure/adapters/orm/orm.module.ts
188
+ ```
189
+
190
+ Known subsystems in Foundation: `auth`, `aws`, `cache`, `configuration`, `http`, `llm`, `orm`, `queue`, `redis`, `sync-engine`, `temporal`, `vector-store`. Add a new subsystem folder only when no existing subsystem covers the integration.
191
+
192
+ The ORM subsystem has one Nest module only: `src/infrastructure/adapters/orm/orm.module.ts`. Do not create entity/context modules such as `<context>-orm.module.ts`; wire and export all `*.typeorm-repository.ts` providers through `orm.module.ts`.
193
+
194
+ **Presentation (segmented by transport before context)**
195
+
196
+ ```text
197
+ src/presentation/rest/<context>/controllers/<verb-noun>.controller.ts
198
+ src/presentation/rest/<context>/dtos/<verb-noun>.dto.ts
199
+ src/presentation/rest/<context>/presentation-validators/<verb-noun>.presentation-validator.ts
200
+ src/presentation/rest/<context>/guards/<name>.guard.ts
201
+ src/presentation/rest/<context>/decorators/<name>.decorator.ts
202
+ src/presentation/rest/<context>/<context>.module.ts
203
+ ```
204
+
205
+ REST DTOs are transport-layer input/output contracts. Keep them thin and delegate validation/mapping into presentation validators and application use cases.
206
+
207
+ Other transports follow the same shape under `graphql/`, `cli/`, `websocket/`, or `agent/`.
208
+
209
+ **Suffix-only rules (orthogonal to path)**
210
+
211
+ - Use cases end with `.use-case.ts`. Services with `.service.ts`. Handlers with `.handler.ts`.
212
+ - REST controllers end with `.controller.ts`, one class per file.
213
+ - REST DTOs end with `.dto.ts`.
214
+ - Presentation validators end with `.presentation-validator.ts`.
215
+ - Nest modules end with `.application.module.ts` or `.module.ts` by layer. The ORM module is exactly `orm.module.ts`.
216
+
217
+ ## Forbidden Patterns
218
+
219
+ These layouts have been observed in derived debates and plans and **must be rejected**. Each one violates the canonical paths above.
220
+
221
+ - `src/domain/<context>/exceptions/` — use `src/shared/domain/exceptions/`. Exceptions are centralized.
222
+ - `<name>.schema.ts` for TypeORM entities — use `<name>.orm-entity.ts`.
223
+ - `<name>.value-object.ts` — use `<name>.vo.ts`.
224
+ - `<name>.repository.ts` (ambiguous) — use `<name>.typeorm-repository.ts` in infrastructure, `<name>-repository.port.ts` in port.
225
+ - `src/infrastructure/adapters/orm/*-orm.module.ts` — use the single `src/infrastructure/adapters/orm/orm.module.ts`.
226
+ - `src/infrastructure/<context>/persistence/typeorm/` — use `src/infrastructure/adapters/orm/`.
227
+ - `src/infrastructure/<context>/adapters/` — use `src/infrastructure/adapters/<subsystem>/`.
228
+ - `src/infrastructure/<context>/repositories/` — use `src/infrastructure/adapters/orm/repositories/`.
229
+ - `src/presentation/<context>/` (transport-less) — use `src/presentation/rest/<context>/` (or another transport).
230
+ - `entities/` in any new domain context — use `business-objects/`. The legacy set is closed: `pessoas`, `wallets`.
231
+ - `repository-ports/` in any new domain context — declare the port in application `ports/out/`.
232
+
233
+ ## Plan-Time Conformance Gate
234
+
235
+ When producing an implementation plan (the "Arquivo NestJS | Ação" table inside a DEB-*.md, a `2-plan.yaml` task list, or any file inventory in a discovery artifact), apply this gate **before** publishing the plan:
236
+
237
+ 1. For each proposed path, match it against Canonical Paths. If it does not match, replace it with the canonical equivalent or flag it as an explicit architectural divergence requiring ADR.
238
+ 2. For each new domain context, declare the chosen pattern (BO or entity) and justify the choice. The default is BO; declaring entity for a new context requires citing the ADR.
239
+ 3. Cross-check against [foundation-layout.md](references/foundation-layout.md). Skill compliance is verifiable: every path either exists as a pattern in Foundation or is forbidden.
240
+
241
+ A plan that fails this gate corrupts the downstream FEAT execution and the discovery quality ledger. Fix the plan before merging the debate.
104
242
 
105
243
  ## Imports And Lint First Principles
106
244
 
107
245
  - Do not use relative imports in `src` or tests. Even same-folder imports are forbidden.
108
- - Use aliases: `@domain/*`, `@application/*`, `@presentation/*`, `@infrastructure/*`, `@infrastructure/adapter/*`, `@shared/*`, `@src/*`.
246
+ - Use aliases: `@application/business/notifications/ports/out/*`, `@domain/*`, `@application/*`, `@presentation/*`, `@infrastructure/adapter/*`, `@infrastructure/*`, `@shared/*`, `@src/presentation.module`, `@src/application.module`, `@src/*`, `@tests/*`.
247
+ - Derived projects must carry the Foundation-compatible `tsconfig` alias map before claiming Foundation compatibility.
109
248
  - Use `import type` for type-only imports.
110
249
  - Keep domain free of Nest, TypeORM, class-validator, HTTP, queue, AWS, cache, LLM, and framework concepts.
111
250
  - Treat lint warnings as design feedback, not cosmetic noise.
@@ -115,7 +254,7 @@ Dependency direction is strict:
115
254
  A valid change must satisfy all relevant checks:
116
255
 
117
256
  - It matches the current repository patterns unless the user explicitly requested a better pattern and the migration cost is justified.
118
- - It keeps business invariants in domain objects, value objects, or domain validators.
257
+ - It keeps BO-pattern business invariants in domain business objects and value objects; domain validators apply only to existing entity-pattern contexts.
119
258
  - It keeps orchestration in application use cases, services, or handlers.
120
259
  - It keeps transport mapping and request validation in presentation.
121
260
  - It keeps concrete integrations in infrastructure.
@@ -129,9 +268,9 @@ Before final response on API work:
129
268
  1. Run the smallest useful tests first, then broaden if the change crosses layers.
130
269
  2. Prefer `pnpm lint` and `pnpm build` for structural changes.
131
270
  3. Update `.sdd/active/<FEAT-ID>/5-quality.yaml` when an active feature exists and completion evidence is in scope.
132
- 4. Declare frontend impact with `opensdd sdd frontend-impact <FEAT-ID> ...` when an active feature exists and the feature is being completed.
271
+ 4. Declare frontend impact with `codesdd sdd frontend-impact <FEAT-ID> ...` when an active feature exists and the feature is being completed.
133
272
  5. Update affected docs required by SDD when the task changes architecture or behavior.
134
- 6. Run `opensdd sdd finalize --ref <FEAT-ID>` only when feature completion is actually in scope.
273
+ 6. Run `codesdd sdd finalize --ref <FEAT-ID>` only when feature completion is actually in scope.
135
274
  7. Final handoff must include changed areas, validation commands and results, skipped checks with reasons, SDD exception if any, and residual risks.
136
275
 
137
276
  Never claim validation passed unless the command actually ran successfully.
@@ -0,0 +1,8 @@
1
+ agent_id: claude
2
+ display_name: Claude Code
3
+ skill_id: devtrack-api
4
+ adapter_type: markdown-skill
5
+ canonical_skill: ../SKILL.md
6
+ notes:
7
+ - Treat this adapter as a host mapping only; SKILL.md and references remain canonical.
8
+ - Preserve dirty worktrees and report unavailable commands honestly.
@@ -0,0 +1,8 @@
1
+ agent_id: codex
2
+ display_name: Codex
3
+ skill_id: devtrack-api
4
+ adapter_type: markdown-skill
5
+ canonical_skill: ../SKILL.md
6
+ notes:
7
+ - Read CodeSDD policy and FEAT context before edits.
8
+ - Load contract-pack.yaml and Foundation layout before backend/API changes.
@@ -0,0 +1,8 @@
1
+ agent_id: cursor
2
+ display_name: Cursor
3
+ skill_id: devtrack-api
4
+ adapter_type: markdown-skill
5
+ canonical_skill: ../SKILL.md
6
+ notes:
7
+ - Keep Cursor edits scoped to CodeSDD FEAT context.
8
+ - Do not bypass Foundation layout or TypeORM constraints.
@@ -0,0 +1,8 @@
1
+ agent_id: gemini
2
+ display_name: Gemini
3
+ skill_id: devtrack-api
4
+ adapter_type: markdown-skill
5
+ canonical_skill: ../SKILL.md
6
+ notes:
7
+ - Verify version-sensitive NestJS and TypeORM details before asserting APIs.
8
+ - Use contract-pack rule ids in validation notes.
@@ -0,0 +1,8 @@
1
+ agent_id: kimi
2
+ display_name: Kimi
3
+ skill_id: devtrack-api
4
+ adapter_type: markdown-skill
5
+ canonical_skill: ../SKILL.md
6
+ notes:
7
+ - Use the markdown skill and references as the complete contract.
8
+ - Produce compact, evidence-backed changes and handoff notes.
@@ -1,4 +1,6 @@
1
1
  interface:
2
2
  display_name: "DevTrack API"
3
- short_description: "Portable DevTrack API engineering governance, architecture, safety, validation, and quality skill."
4
- default_prompt: "Use $devtrack-api to implement, review, refactor, test, or document DevTrack API work with OpenSDD, DDD/Clean Architecture, TypeORM, strict import boundaries, evidence-based validation, and safe operational constraints."
3
+ short_description: "Governed DevTrack API architecture and Foundation fidelity."
4
+ default_prompt: "Use $devtrack-api to implement, review, refactor, test, or document DevTrack API work with CodeSDD, Foundation-compatible NestJS, TypeORM, strict imports, and validation evidence."
5
+ policy:
6
+ allow_implicit_invocation: true
@@ -0,0 +1,10 @@
1
+ agent_id: opencode
2
+ display_name: OpenCode
3
+ skill_id: devtrack-api
4
+ adapter_type: markdown-skill
5
+ canonical_skill: ../SKILL.md
6
+ aliases:
7
+ - open-code
8
+ notes:
9
+ - Use opencode for local skill sync targets.
10
+ - Use open-code only when an MCP provider manifest requires that provider id.
@@ -126,8 +126,8 @@ Pattern:
126
126
  ```ts
127
127
  import { Inject, Injectable, Logger, Optional } from '@nestjs/common';
128
128
  import { Example } from '@domain/example/business-objects/example.bo';
129
- import { ExampleRepositoryPortSymbol } from '@domain/example/repository-ports/example-repository.port';
130
- import type { ExampleRepositoryPort } from '@domain/example/repository-ports/example-repository.port';
129
+ import { ExampleRepositoryPortSymbol } from '@application/business/example/ports/out/example-repository.port';
130
+ import type { ExampleRepositoryPort } from '@application/business/example/ports/out/example-repository.port';
131
131
  import type { ExampleType } from '@domain/example/types/example.type';
132
132
  import type { CreateExampleUseCasePort } from '@application/business/example/ports/in/create-example.use-case.port';
133
133
  import { ExampleProducerPortSymbol } from '@application/business/example/ports/out/example-producer.port';
@@ -13,11 +13,11 @@ Use this precedence when context conflicts:
13
13
  1. Current repository files for implementation facts.
14
14
  2. Nearest `AGENTS.md` / `AGENT.md` for local agent instructions.
15
15
  3. `.sdd/state/*.yaml` for operational state, planning, progress, dependencies, blockers, quality, and handoff.
16
- 4. `.sdd/core/*.md`, `.sdd/planning/*.md`, `.sdd/AGENT.md`, and `.sdd/README.md` as OpenSDD operational views and guides.
16
+ 4. `.sdd/core/*.md`, `.sdd/planning/*.md`, `.sdd/AGENT.md`, and `.sdd/README.md` as CodeSDD operational views and guides.
17
17
  5. Skill reference files as architecture and quality policy.
18
18
  6. Historical notes, generated summaries, or legacy docs only when confirmed by current repository evidence.
19
19
 
20
- Do not let old notes override the codebase or OpenSDD. If useful legacy material exists, repatriate the decision into OpenSDD and remove or ignore the legacy artifact.
20
+ Do not let old notes override the codebase or CodeSDD. If useful legacy material exists, repatriate the decision into CodeSDD and remove or ignore the legacy artifact.
21
21
 
22
22
  ## Model Neutrality
23
23
 
@@ -44,14 +44,14 @@ Agents must be conservative with facts.
44
44
  Before edits:
45
45
 
46
46
  ```bash
47
- opensdd sdd onboard system
48
- opensdd sdd next
47
+ codesdd sdd onboard system
48
+ codesdd sdd next
49
49
  ```
50
50
 
51
- If `opensdd sdd next` returns a ready or active feature id:
51
+ If `codesdd sdd next` returns a ready or active feature id:
52
52
 
53
53
  ```bash
54
- opensdd sdd context <FEAT-ID>
54
+ codesdd sdd context <FEAT-ID>
55
55
  ```
56
56
 
57
57
  Also before edits:
@@ -65,7 +65,7 @@ Rules:
65
65
  - Read nearest `AGENTS.md` and `AGENT.md` before editing.
66
66
  - Inspect nearby files before introducing new patterns.
67
67
  - If there is no feature id but the user explicitly asked for work outside SDD, state the exception in the final handoff.
68
- - Create an OpenSDD insight or feature only when durable follow-up is required.
68
+ - Create an CodeSDD insight or feature only when durable follow-up is required.
69
69
  - Do not create external context notes, workflow state, backlog, project memory, scratchpads, or handoff stores.
70
70
  - Do not use BRV.
71
71
 
@@ -137,6 +137,7 @@ Current contexts include:
137
137
  The canonical intelligence boundary is:
138
138
 
139
139
  - `src/application/intelligence/conversation/`: omnichannel boundary.
140
+ - `src/application/intelligence/course-agents/`: course-oriented agent orchestration.
140
141
  - `src/application/intelligence/report-chat/`: specialized capability.
141
142
  - `src/application/intelligence/common/agent-runtime/`: generic runtime ownership.
142
143
  - `src/domain/intelligence/`: single domain aggregate with `business-objects/`, `value-objects/`, and `types/`.
@@ -0,0 +1,93 @@
1
+ # devtrack-api Consumer Copy Sync Policy
2
+
3
+ ## Scope
4
+
5
+ This policy governs every copy of `.sdd/skills/curated/devtrack-api/` that CodeSDD materializes into a consumer repository.
6
+
7
+ It covers:
8
+
9
+ - `SKILL.md`
10
+ - `agents/openai.yaml`
11
+ - all files under `references/`, including `contract-pack.yaml`
12
+
13
+ It does not make CodeSDD the canonical backend implementation source. `devtrack-foundation-api` remains the backend architecture ground truth; CodeSDD owns the skill distribution and consumer materialization contract.
14
+
15
+ ## Authority
16
+
17
+ - Canonical CodeSDD source: `.sdd/skills/curated/devtrack-api/` in this repository.
18
+ - Canonical catalog entry: `.sdd/state/skill-catalog.yaml` skill id `devtrack-api`.
19
+ - Canonical backend layout evidence: `devtrack-foundation-api/src/`, validated by `test/specs/devtrack-api-foundation-layout.test.ts`.
20
+ - Canonical machine-readable skill policy: `.sdd/skills/curated/devtrack-api/references/contract-pack.yaml`.
21
+ - Consumer copy: `<consumer-root>/.sdd/skills/curated/devtrack-api/`.
22
+
23
+ Consumer copies are one-way materializations from CodeSDD. They are not a second source of truth and must not be used as an upstream patch queue.
24
+
25
+ ## Required Sync Events
26
+
27
+ Synchronize and verify the consumer copy:
28
+
29
+ 1. after upgrading the CodeSDD version, commit, or distribution bundle used by the consumer project;
30
+ 2. before executing a consumer FEAT that explicitly uses or is routed to `devtrack-api`;
31
+ 3. after a Foundation layout change that affects domain, application, infrastructure, presentation, testing, or governance guidance;
32
+ 4. after any temporary local hotfix to a consumer copy, once the canonical CodeSDD correction exists.
33
+
34
+ ## Sync Procedure
35
+
36
+ 1. In the CodeSDD repository, validate the canonical skill before distribution:
37
+
38
+ ```bash
39
+ pnpm exec vitest run test/specs/devtrack-api-foundation-layout.test.ts test/core/sdd/skill-distribution.test.ts
40
+ pnpm run build
41
+ ```
42
+
43
+ 2. In the consumer repository, refresh CodeSDD materialization with the configured project update flow:
44
+
45
+ ```bash
46
+ codesdd update
47
+ ```
48
+
49
+ For a new consumer project, run the bootstrap/init flow used by that project before comparing the generated skill copy.
50
+
51
+ 3. Compare the canonical source and the consumer copy:
52
+
53
+ ```bash
54
+ diff -ru <codesdd-root>/.sdd/skills/curated/devtrack-api <consumer-root>/.sdd/skills/curated/devtrack-api
55
+ ```
56
+
57
+ Expected result: no diff when the consumer is on the same CodeSDD commit or release. A pinned older consumer may differ only when the handoff records the pin and the reason.
58
+
59
+ 4. Record evidence in the consumer FEAT quality or handoff:
60
+
61
+ - CodeSDD commit or release tag used as the source.
62
+ - Foundation checkout path, commit, or release used for validation when available.
63
+ - update/bootstrap command used in the consumer repository.
64
+ - diff command and result.
65
+ - any intentional pin, exception, or follow-up SDD reference.
66
+
67
+ ## Local Edit Rule
68
+
69
+ Do not make durable edits directly in a consumer copy of `devtrack-api`.
70
+
71
+ If a consumer copy needs an urgent local correction:
72
+
73
+ 1. mark it as temporary in the consumer handoff;
74
+ 2. open or link a CodeSDD INS/DEB/FEAT for the canonical correction;
75
+ 3. replace the local edit with a normal CodeSDD materialization after the canonical correction is released;
76
+ 4. keep the consumer FEAT blocked or excepted if the local edit changes architecture, security, persistence, or validation rules.
77
+
78
+ ## Conflict Handling
79
+
80
+ - If Foundation changed and CodeSDD did not, update the CodeSDD skill and conformance test first.
81
+ - If a consumer copy changed and CodeSDD did not, repatriate the useful change through CodeSDD discovery before accepting it anywhere else.
82
+ - If the diff is not empty and there is no documented version pin, treat the consumer copy as stale.
83
+ - If a generated consumer copy is stale, do not "fix" only the generated copy. Refresh from CodeSDD or create the canonical CodeSDD correction first.
84
+
85
+ ## Acceptance Checklist
86
+
87
+ A consumer copy is current only when:
88
+
89
+ - `SKILL.md`, `agents/openai.yaml`, and every `references/*.md` file match the intended CodeSDD source commit or release;
90
+ - `references/contract-pack.yaml` matches the intended CodeSDD source commit or release;
91
+ - the consumer FEAT quality or handoff records source version, update command, and diff result;
92
+ - no durable edits exist only in the consumer copy;
93
+ - any Foundation-driven guidance change passed the CodeSDD Foundation-layout conformance test first.