@devtrack-solution/codesdd 1.2.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md +17 -17
  2. package/.sdd/skills/curated/devtrack-api/SKILL.md +160 -28
  3. package/.sdd/skills/curated/devtrack-api/agents/openai.yaml +1 -1
  4. package/.sdd/skills/curated/devtrack-api/references/architecture-governance.md +8 -7
  5. package/.sdd/skills/curated/devtrack-api/references/consumer-sync-policy.md +93 -0
  6. package/.sdd/skills/curated/devtrack-api/references/contract-pack.yaml +317 -0
  7. package/.sdd/skills/curated/devtrack-api/references/field-validation-protocol.md +95 -0
  8. package/.sdd/skills/curated/devtrack-api/references/foundation-layout.md +295 -0
  9. package/.sdd/skills/curated/devtrack-api/references/implementation-checklist.md +4 -4
  10. package/.sdd/skills/curated/devtrack-api/references/imports-lint.md +4 -0
  11. package/.sdd/skills/curated/devtrack-api/references/testing-validation.md +2 -2
  12. package/LICENSE +1 -1
  13. package/README.md +243 -51
  14. package/bin/codesdd.js +3 -2
  15. package/dist/cli/index.d.ts +2 -2
  16. package/dist/cli/index.js +11 -558
  17. package/dist/cli/program.d.ts +14 -0
  18. package/dist/cli/program.js +645 -0
  19. package/dist/commands/change.js +5 -5
  20. package/dist/commands/completion.d.ts +1 -1
  21. package/dist/commands/completion.js +9 -2
  22. package/dist/commands/config.js +159 -20
  23. package/dist/commands/feedback.js +1 -1
  24. package/dist/commands/schema.d.ts +63 -0
  25. package/dist/commands/schema.js +12 -12
  26. package/dist/commands/sdd/backlog.d.ts +3 -0
  27. package/dist/commands/sdd/backlog.js +54 -0
  28. package/dist/commands/sdd/execution.js +147 -16
  29. package/dist/commands/sdd/plugin.d.ts +3 -0
  30. package/dist/commands/sdd/plugin.js +153 -0
  31. package/dist/commands/sdd/shared.js +2 -23
  32. package/dist/commands/sdd/skills.js +7 -0
  33. package/dist/commands/sdd.js +69 -12
  34. package/dist/commands/spec.js +9 -9
  35. package/dist/commands/validate.js +6 -6
  36. package/dist/commands/workflow/instructions.js +6 -6
  37. package/dist/commands/workflow/new-change.js +3 -3
  38. package/dist/commands/workflow/shared.d.ts +1 -1
  39. package/dist/commands/workflow/shared.js +4 -4
  40. package/dist/core/archive.js +15 -5
  41. package/dist/core/artifact-graph/instruction-loader.d.ts +1 -1
  42. package/dist/core/artifact-graph/instruction-loader.js +3 -3
  43. package/dist/core/artifact-graph/resolver.d.ts +4 -4
  44. package/dist/core/artifact-graph/resolver.js +6 -6
  45. package/dist/core/branding.js +3 -3
  46. package/dist/core/cli/command-matrix.js +10 -1
  47. package/dist/core/cli-command-quality.d.ts +27 -0
  48. package/dist/core/cli-command-quality.js +171 -0
  49. package/dist/core/command-generation/adapters/costrict.d.ts +1 -1
  50. package/dist/core/command-generation/adapters/costrict.js +2 -2
  51. package/dist/core/command-generation/types.d.ts +1 -1
  52. package/dist/core/completions/command-registry.d.ts +1 -1
  53. package/dist/core/completions/command-registry.js +155 -12
  54. package/dist/core/completions/completion-provider.d.ts +14 -1
  55. package/dist/core/completions/completion-provider.js +29 -1
  56. package/dist/core/completions/generators/bash-generator.d.ts +1 -1
  57. package/dist/core/completions/generators/bash-generator.js +20 -12
  58. package/dist/core/completions/generators/fish-generator.d.ts +9 -1
  59. package/dist/core/completions/generators/fish-generator.js +39 -25
  60. package/dist/core/completions/generators/powershell-generator.d.ts +1 -1
  61. package/dist/core/completions/generators/powershell-generator.js +21 -11
  62. package/dist/core/completions/generators/zsh-generator.d.ts +3 -6
  63. package/dist/core/completions/generators/zsh-generator.js +21 -42
  64. package/dist/core/completions/installers/bash-installer.js +6 -6
  65. package/dist/core/completions/installers/fish-installer.js +1 -1
  66. package/dist/core/completions/installers/powershell-installer.js +14 -14
  67. package/dist/core/completions/installers/zsh-installer.d.ts +7 -1
  68. package/dist/core/completions/installers/zsh-installer.js +36 -8
  69. package/dist/core/completions/templates/bash-templates.d.ts +1 -1
  70. package/dist/core/completions/templates/bash-templates.js +12 -6
  71. package/dist/core/completions/templates/fish-templates.d.ts +2 -2
  72. package/dist/core/completions/templates/fish-templates.js +20 -9
  73. package/dist/core/completions/templates/powershell-templates.d.ts +1 -1
  74. package/dist/core/completions/templates/powershell-templates.js +13 -4
  75. package/dist/core/completions/templates/zsh-templates.d.ts +1 -1
  76. package/dist/core/completions/templates/zsh-templates.js +18 -9
  77. package/dist/core/config-schema.d.ts +3 -1
  78. package/dist/core/config-schema.js +26 -1
  79. package/dist/core/config.d.ts +3 -3
  80. package/dist/core/config.js +4 -4
  81. package/dist/core/global-config.d.ts +41 -12
  82. package/dist/core/global-config.js +344 -27
  83. package/dist/core/index.d.ts +1 -1
  84. package/dist/core/index.js +2 -2
  85. package/dist/core/init.d.ts +6 -1
  86. package/dist/core/init.js +99 -77
  87. package/dist/core/legacy-cleanup.d.ts +17 -17
  88. package/dist/core/legacy-cleanup.js +96 -79
  89. package/dist/core/list.js +18 -4
  90. package/dist/core/migration.d.ts +3 -1
  91. package/dist/core/migration.js +7 -8
  92. package/dist/core/parsers/change-parser.js +1 -1
  93. package/dist/core/parsers/markdown-parser.js +2 -2
  94. package/dist/core/profile-sync-drift.d.ts +1 -1
  95. package/dist/core/profile-sync-drift.js +13 -13
  96. package/dist/core/project-config.d.ts +4 -4
  97. package/dist/core/project-config.js +11 -11
  98. package/dist/core/schemas/change.schema.d.ts +1 -1
  99. package/dist/core/schemas/change.schema.js +1 -1
  100. package/dist/core/schemas/spec.schema.d.ts +1 -1
  101. package/dist/core/schemas/spec.schema.js +1 -1
  102. package/dist/core/sdd/adr.js +23 -1
  103. package/dist/core/sdd/agent-binding.d.ts +346 -0
  104. package/dist/core/sdd/agent-binding.js +343 -0
  105. package/dist/core/sdd/backlog-cli.d.ts +16 -0
  106. package/dist/core/sdd/backlog-cli.js +146 -0
  107. package/dist/core/sdd/backlog-conflict-policy.d.ts +58 -0
  108. package/dist/core/sdd/backlog-conflict-policy.js +230 -0
  109. package/dist/core/sdd/backlog-projection.d.ts +8 -0
  110. package/dist/core/sdd/backlog-projection.js +89 -0
  111. package/dist/core/sdd/backlog-provider-contract.d.ts +252 -0
  112. package/dist/core/sdd/backlog-provider-contract.js +158 -0
  113. package/dist/core/sdd/bootstrap.js +2 -2
  114. package/dist/core/sdd/check.d.ts +42 -0
  115. package/dist/core/sdd/check.js +22 -22
  116. package/dist/core/sdd/contract.d.ts +13 -0
  117. package/dist/core/sdd/contract.js +36 -0
  118. package/dist/core/sdd/coordination/coordination-adapters.d.ts +38 -0
  119. package/dist/core/sdd/coordination/coordination-adapters.js +139 -1
  120. package/dist/core/sdd/deepagent-contracts.d.ts +276 -0
  121. package/dist/core/sdd/deepagent-contracts.js +173 -0
  122. package/dist/core/sdd/deepagents/adr-governor.d.ts +2 -0
  123. package/dist/core/sdd/deepagents/adr-governor.js +30 -0
  124. package/dist/core/sdd/deepagents/backend.d.ts +63 -0
  125. package/dist/core/sdd/deepagents/backend.js +174 -0
  126. package/dist/core/sdd/deepagents/codesdd-tools.d.ts +39 -0
  127. package/dist/core/sdd/deepagents/codesdd-tools.js +83 -0
  128. package/dist/core/sdd/deepagents/evidence-mapper.d.ts +86 -0
  129. package/dist/core/sdd/deepagents/evidence-mapper.js +178 -0
  130. package/dist/core/sdd/deepagents/model-provider.d.ts +53 -0
  131. package/dist/core/sdd/deepagents/model-provider.js +379 -0
  132. package/dist/core/sdd/deepagents/policy-enforcement.d.ts +30 -0
  133. package/dist/core/sdd/deepagents/policy-enforcement.js +90 -0
  134. package/dist/core/sdd/deepagents/policy.d.ts +75 -0
  135. package/dist/core/sdd/deepagents/policy.js +358 -0
  136. package/dist/core/sdd/deepagents/quality-witness.d.ts +3 -0
  137. package/dist/core/sdd/deepagents/quality-witness.js +77 -0
  138. package/dist/core/sdd/deepagents/reversa-subagents.d.ts +75 -0
  139. package/dist/core/sdd/deepagents/reversa-subagents.js +182 -0
  140. package/dist/core/sdd/deepagents/runtime-factory.d.ts +90 -0
  141. package/dist/core/sdd/deepagents/runtime-factory.js +231 -0
  142. package/dist/core/sdd/deepagents/runtime-loader.d.ts +16 -0
  143. package/dist/core/sdd/deepagents/runtime-loader.js +65 -0
  144. package/dist/core/sdd/default-bootstrap-files.d.ts +2 -2
  145. package/dist/core/sdd/default-bootstrap-files.js +36 -2
  146. package/dist/core/sdd/default-skills.d.ts +30 -0
  147. package/dist/core/sdd/default-skills.js +181 -5
  148. package/dist/core/sdd/devtrack-api-appliance.d.ts +84 -0
  149. package/dist/core/sdd/devtrack-api-appliance.js +257 -0
  150. package/dist/core/sdd/devtrack-api-architecture.d.ts +31 -0
  151. package/dist/core/sdd/devtrack-api-architecture.js +608 -0
  152. package/dist/core/sdd/devtrack-api-import-boundary.d.ts +19 -0
  153. package/dist/core/sdd/devtrack-api-import-boundary.js +32 -0
  154. package/dist/core/sdd/diagnose.d.ts +59 -0
  155. package/dist/core/sdd/diagnose.js +37 -37
  156. package/dist/core/sdd/docs-sync.js +33 -5
  157. package/dist/core/sdd/domain/post-active-validation.d.ts +7 -0
  158. package/dist/core/sdd/domain/post-active-validation.js +61 -0
  159. package/dist/core/sdd/domain/transition-engine.js +1 -0
  160. package/dist/core/sdd/entity-reference.d.ts +5 -0
  161. package/dist/core/sdd/entity-reference.js +22 -0
  162. package/dist/core/sdd/governance-backfill.d.ts +31 -0
  163. package/dist/core/sdd/governance-backfill.js +359 -0
  164. package/dist/core/sdd/governance-parser.d.ts +21 -0
  165. package/dist/core/sdd/governance-parser.js +91 -0
  166. package/dist/core/sdd/governance-schemas.d.ts +245 -0
  167. package/dist/core/sdd/governance-schemas.js +143 -0
  168. package/dist/core/sdd/{import-openspec.d.ts → import-legacy-spec.d.ts} +7 -7
  169. package/dist/core/sdd/{import-openspec.js → import-legacy-spec.js} +21 -29
  170. package/dist/core/sdd/init.d.ts +3 -0
  171. package/dist/core/sdd/init.js +6 -3
  172. package/dist/core/sdd/json-schema.js +100 -6
  173. package/dist/core/sdd/knowledge-graph.d.ts +45 -0
  174. package/dist/core/sdd/knowledge-graph.js +288 -0
  175. package/dist/core/sdd/legacy-operations.js +431 -43
  176. package/dist/core/sdd/lenses.d.ts +1 -0
  177. package/dist/core/sdd/lenses.js +29 -1
  178. package/dist/core/sdd/migrate-workspace.js +56 -2
  179. package/dist/core/sdd/migrate.d.ts +1 -1
  180. package/dist/core/sdd/migrate.js +36 -2
  181. package/dist/core/sdd/package-structure-gate.d.ts +83 -0
  182. package/dist/core/sdd/package-structure-gate.js +362 -0
  183. package/dist/core/sdd/parallel-feat-automation.d.ts +152 -0
  184. package/dist/core/sdd/parallel-feat-automation.js +212 -0
  185. package/dist/core/sdd/plugin-broker.d.ts +558 -0
  186. package/dist/core/sdd/plugin-broker.js +482 -0
  187. package/dist/core/sdd/plugin-certification.d.ts +79 -0
  188. package/dist/core/sdd/plugin-certification.js +453 -0
  189. package/dist/core/sdd/plugin-cli.d.ts +109 -0
  190. package/dist/core/sdd/plugin-cli.js +198 -0
  191. package/dist/core/sdd/plugin-evidence.d.ts +275 -0
  192. package/dist/core/sdd/plugin-evidence.js +307 -0
  193. package/dist/core/sdd/plugin-manifest.d.ts +164 -0
  194. package/dist/core/sdd/plugin-manifest.js +215 -0
  195. package/dist/core/sdd/plugin-policy-pack.d.ts +88 -0
  196. package/dist/core/sdd/plugin-policy-pack.js +236 -0
  197. package/dist/core/sdd/plugin-policy.d.ts +68 -0
  198. package/dist/core/sdd/plugin-policy.js +212 -0
  199. package/dist/core/sdd/plugin-registry.d.ts +311 -0
  200. package/dist/core/sdd/plugin-registry.js +138 -0
  201. package/dist/core/sdd/plugin-skill-binding.d.ts +151 -0
  202. package/dist/core/sdd/plugin-skill-binding.js +339 -0
  203. package/dist/core/sdd/quality-artifact-manifest-validator.d.ts +28 -0
  204. package/dist/core/sdd/quality-artifact-manifest-validator.js +167 -0
  205. package/dist/core/sdd/quality-evidence-renderer.d.ts +65 -0
  206. package/dist/core/sdd/quality-evidence-renderer.js +218 -0
  207. package/dist/core/sdd/quality-scenario-runner.d.ts +42 -0
  208. package/dist/core/sdd/quality-scenario-runner.js +613 -0
  209. package/dist/core/sdd/quality-validation.d.ts +547 -0
  210. package/dist/core/sdd/quality-validation.js +239 -0
  211. package/dist/core/sdd/resolve-project-root.d.ts +2 -2
  212. package/dist/core/sdd/resolve-project-root.js +11 -5
  213. package/dist/core/sdd/sanitize.d.ts +30 -1
  214. package/dist/core/sdd/sanitize.js +23 -23
  215. package/dist/core/sdd/services/agent-run.service.d.ts +65 -0
  216. package/dist/core/sdd/services/agent-run.service.js +189 -0
  217. package/dist/core/sdd/services/breakdown.service.js +2 -1
  218. package/dist/core/sdd/services/context.service.js +18 -16
  219. package/dist/core/sdd/services/debate.service.js +15 -2
  220. package/dist/core/sdd/services/feature-lint.service.d.ts +22 -0
  221. package/dist/core/sdd/services/feature-lint.service.js +105 -5
  222. package/dist/core/sdd/services/finalize.service.d.ts +80 -0
  223. package/dist/core/sdd/services/finalize.service.js +323 -24
  224. package/dist/core/sdd/services/frontend-gap.service.js +22 -7
  225. package/dist/core/sdd/services/governance-control-plane-runtime-adapters.d.ts +17 -0
  226. package/dist/core/sdd/services/governance-control-plane-runtime-adapters.js +38 -0
  227. package/dist/core/sdd/services/governance-control-plane.service.d.ts +66 -0
  228. package/dist/core/sdd/services/governance-control-plane.service.js +134 -0
  229. package/dist/core/sdd/services/ingest-deposito.service.js +1 -1
  230. package/dist/core/sdd/services/legacy-capability.service.d.ts +10 -7
  231. package/dist/core/sdd/services/legacy-capability.service.js +38 -21
  232. package/dist/core/sdd/services/mcp-runtime.service.d.ts +123 -8
  233. package/dist/core/sdd/services/mcp-runtime.service.js +1085 -33
  234. package/dist/core/sdd/services/onboard.service.js +2 -1
  235. package/dist/core/sdd/services/rebuild.service.js +6 -1
  236. package/dist/core/sdd/services/skills-sync.service.d.ts +17 -5
  237. package/dist/core/sdd/services/skills-sync.service.js +55 -2
  238. package/dist/core/sdd/services/start.service.js +6 -4
  239. package/dist/core/sdd/skill-bundles-curation-schema.d.ts +66 -0
  240. package/dist/core/sdd/skill-bundles-curation-schema.js +52 -0
  241. package/dist/core/sdd/skill-evidence.d.ts +19 -0
  242. package/dist/core/sdd/skill-evidence.js +38 -0
  243. package/dist/core/sdd/skill-policy-pool.d.ts +46 -0
  244. package/dist/core/sdd/skill-policy-pool.js +185 -0
  245. package/dist/core/sdd/state.d.ts +22 -0
  246. package/dist/core/sdd/state.js +66 -41
  247. package/dist/core/sdd/structural-health.d.ts +42 -42
  248. package/dist/core/sdd/types.d.ts +33 -7
  249. package/dist/core/sdd/types.js +17 -0
  250. package/dist/core/sdd/upgrade-to-codesdd.d.ts +45 -0
  251. package/dist/core/sdd/upgrade-to-codesdd.js +179 -0
  252. package/dist/core/sdd/workspace-schemas.d.ts +285 -14
  253. package/dist/core/sdd/workspace-schemas.js +148 -0
  254. package/dist/core/sdd/write-manifest.js +22 -4
  255. package/dist/core/shared/skill-generation.d.ts +1 -1
  256. package/dist/core/shared/skill-generation.js +15 -15
  257. package/dist/core/shared/tool-detection.d.ts +3 -3
  258. package/dist/core/shared/tool-detection.js +14 -14
  259. package/dist/core/specs-apply.js +6 -6
  260. package/dist/core/templates/index.d.ts +1 -1
  261. package/dist/core/templates/index.js +1 -1
  262. package/dist/core/templates/workflows/apply-change.js +14 -14
  263. package/dist/core/templates/workflows/archive-change.js +32 -32
  264. package/dist/core/templates/workflows/bulk-archive-change.js +25 -25
  265. package/dist/core/templates/workflows/continue-change.js +12 -12
  266. package/dist/core/templates/workflows/explore.js +29 -29
  267. package/dist/core/templates/workflows/feedback.js +6 -6
  268. package/dist/core/templates/workflows/ff-change.js +24 -24
  269. package/dist/core/templates/workflows/new-change.js +20 -20
  270. package/dist/core/templates/workflows/onboard.js +33 -33
  271. package/dist/core/templates/workflows/propose.js +23 -23
  272. package/dist/core/templates/workflows/sdd.js +8 -8
  273. package/dist/core/templates/workflows/sync-specs.js +19 -19
  274. package/dist/core/templates/workflows/verify-change.js +17 -17
  275. package/dist/core/update.d.ts +2 -2
  276. package/dist/core/update.js +16 -15
  277. package/dist/core/validation/constants.d.ts +1 -1
  278. package/dist/core/validation/constants.js +1 -1
  279. package/dist/core/view.js +11 -11
  280. package/dist/telemetry/config.d.ts +2 -1
  281. package/dist/telemetry/config.js +17 -8
  282. package/dist/telemetry/index.d.ts +10 -2
  283. package/dist/telemetry/index.js +40 -7
  284. package/dist/ui/ascii-patterns.d.ts +2 -2
  285. package/dist/ui/ascii-patterns.js +2 -2
  286. package/dist/ui/welcome-screen.js +2 -2
  287. package/dist/utils/change-metadata.d.ts +4 -4
  288. package/dist/utils/change-metadata.js +6 -6
  289. package/dist/utils/change-utils.d.ts +3 -3
  290. package/dist/utils/change-utils.js +5 -5
  291. package/dist/utils/file-system.js +1 -1
  292. package/dist/utils/interactive.js +1 -1
  293. package/dist/utils/item-discovery.js +4 -4
  294. package/dist/utils/legacy-spec-compat.d.ts +2 -0
  295. package/dist/utils/legacy-spec-compat.js +2 -0
  296. package/dist/utils/shell-detection.d.ts +1 -0
  297. package/dist/utils/shell-detection.js +16 -0
  298. package/package.json +27 -17
  299. package/schemas/sdd/1-spec.schema.json +1 -1
  300. package/schemas/sdd/2-plan.schema.json +73 -1
  301. package/schemas/sdd/3-tasks.schema.json +73 -1
  302. package/schemas/sdd/4-changelog.schema.json +1 -1
  303. package/schemas/sdd/5-quality.schema.json +442 -2
  304. package/schemas/sdd/adr.schema.json +148 -0
  305. package/schemas/sdd/agent-binding-adapter.schema.json +210 -0
  306. package/schemas/sdd/agent-binding-resolution.schema.json +338 -0
  307. package/schemas/sdd/backlog-projection-plan.schema.json +180 -0
  308. package/schemas/sdd/backlog-provider-contract.schema.json +260 -0
  309. package/schemas/sdd/codesdd-plugin.schema.json +474 -0
  310. package/schemas/sdd/debate.schema.json +244 -0
  311. package/schemas/sdd/deepagent-decision-evidence.schema.json +58 -0
  312. package/schemas/sdd/deepagent-env-contract.schema.json +143 -0
  313. package/schemas/sdd/deepagent-quality-evidence.schema.json +108 -0
  314. package/schemas/sdd/deepagent-run-evidence.schema.json +192 -0
  315. package/schemas/sdd/deepagent-run-plan.schema.json +197 -0
  316. package/schemas/sdd/deepagent-run-request.schema.json +321 -0
  317. package/schemas/sdd/deepagent-subagent-evidence.schema.json +110 -0
  318. package/schemas/sdd/deepagent-tool-call-evidence.schema.json +78 -0
  319. package/schemas/sdd/discarded.schema.json +127 -0
  320. package/schemas/sdd/epic.schema.json +147 -0
  321. package/schemas/sdd/insight.schema.json +136 -0
  322. package/schemas/sdd/parallel-feat-automation-plan.schema.json +215 -0
  323. package/schemas/sdd/parallel-feat-automation-request.schema.json +109 -0
  324. package/schemas/sdd/plugin-artifact-manifest.schema.json +150 -0
  325. package/schemas/sdd/plugin-compliance-index.schema.json +136 -0
  326. package/schemas/sdd/plugin-dry-run-plan.schema.json +260 -0
  327. package/schemas/sdd/plugin-evidence-manifest.schema.json +569 -0
  328. package/schemas/sdd/plugin-policy-evaluation.schema.json +92 -0
  329. package/schemas/sdd/plugin-policy-pack-evaluation.schema.json +94 -0
  330. package/schemas/sdd/plugin-policy-pack.schema.json +196 -0
  331. package/schemas/sdd/plugin-registry.schema.json +558 -0
  332. package/schemas/sdd/plugin-rollback-manifest.schema.json +87 -0
  333. package/schemas/sdd/plugin-runtime-invocation-plan.schema.json +845 -0
  334. package/schemas/sdd/plugin-skill-binding-resolution.schema.json +305 -0
  335. package/schemas/sdd/plugin-skill-binding.schema.json +88 -0
  336. package/schemas/sdd/plugin-validation-manifest.schema.json +123 -0
  337. package/schemas/sdd/quality-architecture-schema.schema.json +216 -0
  338. package/schemas/sdd/quality-evidence-bundle.schema.json +1228 -0
  339. package/schemas/sdd/quality-run.schema.json +197 -0
  340. package/schemas/sdd/quality-scenario.schema.json +252 -0
  341. package/schemas/sdd/workspace-catalog.schema.json +9841 -22
  342. package/schemas/spec-driven/schema.yaml +4 -4
  343. package/schemas/spec-driven/templates/proposal.md +1 -1
  344. package/dist/utils/openspec-compat.d.ts +0 -2
  345. package/dist/utils/openspec-compat.js +0 -2
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # CodeSDD
2
2
 
3
- CodeSDD e uma evolucao do OpenSpec focada em memoria operacional, planejamento rastreavel e handoff entre agentes.
3
+ CodeSDD e uma plataforma de memoria operacional, planejamento rastreavel e handoff entre agentes.
4
4
 
5
5
  O objetivo nao e apenas criar specs. O objetivo e permitir que um projeto grande continue compreensivel ao longo do tempo, mesmo quando:
6
6
  - novas ideias aparecem no meio da implementacao;
@@ -9,6 +9,30 @@ O objetivo nao e apenas criar specs. O objetivo e permitir que um projeto grande
9
9
  - um agente novo entra no repositorio sem contexto previo;
10
10
  - o sistema ja existe e precisa ser absorvido sem reler todo o codigo.
11
11
 
12
+ ## Identidade canonica
13
+
14
+ CodeSDD e a nomenclatura canonica do produto, do pacote npm e da CLI. O binario
15
+ oficial publicado e `codesdd`. Estruturas historicas de especificacao devem ser
16
+ tratadas como corpus importavel por `codesdd sdd import-legacy-spec`, nunca como
17
+ fonte operacional paralela ao estado `.sdd`.
18
+
19
+ O relatorio formal de revisao, mapa de referencias, plano de migracao,
20
+ excecoes e exemplos por tipo de comando ficam em
21
+ [docs/codesdd-formal-review.md](docs/codesdd-formal-review.md).
22
+
23
+ Backlog provider integration is documented as a projection-only boundary in
24
+ [docs/backlog-provider-integration.md](docs/backlog-provider-integration.md):
25
+ Azure DevOps is the first provider target, and `.sdd/state/*.yaml` remains the
26
+ canonical operational state.
27
+
28
+ ## Creditos, notices e posicionamento
29
+
30
+ Os documentos canonicos desta fronteira ficam em `docs/`:
31
+
32
+ - [docs/CREDITS.md](docs/CREDITS.md): reconhecimento conceitual e fronteira clean-room (fora do fluxo operacional).
33
+ - [docs/THIRD_PARTY_NOTICES.md](docs/THIRD_PARTY_NOTICES.md): notices tecnicos/licencas para dependencias runtime.
34
+ - [positioning.md](positioning.md): narrativa de posicionamento enterprise do CodeSDD.
35
+
12
36
  ## O que o CodeSDD faz
13
37
 
14
38
  O CodeSDD organiza o desenvolvimento em 4 camadas:
@@ -42,11 +66,85 @@ O CodeSDD organiza o desenvolvimento em 4 camadas:
42
66
  - Artefatos tecnicos de compatibilidade, historicos ou produto nao substituem o estado CodeSDD.
43
67
  - Se uma anotacao legada tiver informacao util, migre a decisao para CodeSDD e remova ou depreque o legado.
44
68
 
69
+ ## Arquitetura DeepAgents governada (FEAT-0240)
70
+
71
+ Para a iniciativa EPIC-0065, o projeto formaliza a seguinte fronteira canonica:
72
+
73
+ - CodeSDD e o control plane soberano: estado canonico (`.sdd/state/*.yaml`), lifecycle, EPIC/FEAT, ADR, politicas, qualidade, evidencia e finalize.
74
+ - DeepAgents e execution plane governado: planejamento tatico, delegacao de subagentes, execucao em sandbox, memoria tatica controlada e coleta de evidencia estruturada.
75
+ - Plugins operam como plano de construcao deterministico via broker e envelopes; Reversa opera como pipeline especializado de engenharia reversa.
76
+ - Nenhum runtime de agente pode virar fonte paralela de verdade para o estado operacional do projeto.
77
+
78
+ Pacote ADR obrigatorio da iniciativa:
79
+
80
+ 1. Adocao oficial do runtime DeepAgents governado.
81
+ 2. Fronteira control plane (CodeSDD) vs execution plane (DeepAgents).
82
+ 3. Autoridade de filesystem/memoria e regra sem fonte paralela de estado.
83
+ 4. Politica de sandbox e worktree isolada.
84
+ 5. Politica HITL e mapeamento de `interrupt_on`.
85
+ 6. Interoperabilidade com plugin broker.
86
+ 7. Interoperabilidade MCP e exposicao de ferramentas.
87
+ 8. Interoperabilidade Reversa e evidencia de engenharia reversa.
88
+ 9. Politica de execucao autonoma por tiers de risco.
89
+ 10. Politica de `.env`, segredos e fingerprint de configuracao.
90
+ 11. Contratos de evidencia estruturada e retencao.
91
+
92
+ O ADR charter desta formalizacao esta em `.sdd/core/adrs/ADR-FEAT-0240.md`.
93
+
94
+ O runtime DeepAgents e opt-in. A configuracao segura permanece desligada por
95
+ padrao (`CODESDD_DEEPAGENTS_ENABLED=false` e
96
+ `CODESDD_DEEPAGENTS_RUNTIME=disabled`), com modo `fake` para testes
97
+ deterministicos sem credenciais e modo `deepagents-js` para a implementacao
98
+ nativa Node/TypeScript carregada sob politica, HITL e contrato de modelo.
99
+ O pacote npm `deepagents` e carregado de forma dinamica, apenas quando esse
100
+ modo real passa nos checks de prontidao.
101
+ A fronteira Node/TypeScript passa pela factory
102
+ `src/core/sdd/deepagents/runtime-factory.ts`, que entrega adapters separados
103
+ para `disabled`, `fake` e `deepagents-js` sem transformar DeepAgents em fonte
104
+ canonica de estado.
105
+ As tools CodeSDD para DeepAgents sao uma projecao governada do registro MCP em
106
+ `src/core/sdd/deepagents/codesdd-tools.ts`, e o enforcement de env, rede, HITL e
107
+ writes planejados passa por `src/core/sdd/deepagents/policy-enforcement.ts`
108
+ antes de qualquer instanciacao real.
109
+ As saidas do runtime sao normalizadas por
110
+ `src/core/sdd/deepagents/evidence-mapper.ts` para os contratos
111
+ `deepagent-run-*`, `deepagent-tool-call-*`, `deepagent-subagent-*`,
112
+ `deepagent-decision-*` e `deepagent-quality-*`.
113
+ O comando `codesdd sdd agent run <FEAT-ID> --provider deepagents` ja consome
114
+ essa fronteira TypeScript: no modo `disabled`, ele registra evidencia de runtime
115
+ bloqueado sem instanciar agente; no modo `fake`, executa o adapter
116
+ deterministico sem credenciais; e no modo `deepagents-js`, so materializa o
117
+ adapter nativo quando os feature toggles, modelo, credencial de launcher e
118
+ politicas passam. Falhas de prontidao viram evidencia estruturada fail-closed.
119
+ O smoke operacional padrao esta em `pnpm run test:deepagents-smoke`, cobrindo
120
+ `disabled` e `fake` sem segredos nem rede; o smoke real de provedor so roda com
121
+ `CODESDD_DEEPAGENTS_PROVIDER_SMOKE=1`, modelo, chave de launcher e dominio de
122
+ rede explicitamente liberado.
123
+ Para diagnostico local, `codesdd config doctor --json` executa preflight
124
+ operacional e reporta status `disabled|ready|blocked` para runtime/provider,
125
+ modelo, variaveis obrigatorias, endpoint e politica de rede sem imprimir
126
+ credenciais.
127
+ Modelos hospedados na Azure e endpoints OpenAI-compatible usam provider
128
+ profiles governados (`azure-openai:`, `azure-ai:`, `openai-compatible:`,
129
+ `xai:`/`grok:`, `moonshot:`/`kimi:` e `cohere:`/`coyers:`). Credenciais e
130
+ endpoints podem vir de variaveis nomeadas por
131
+ `CODESDD_DEEPAGENTS_CREDENTIAL_ENV` e `CODESDD_DEEPAGENTS_ENDPOINT_ENV`; o
132
+ CodeSDD registra apenas nomes, presenca e fingerprints, nunca valores de
133
+ segredo.
134
+ Saidas de diagnostico/configuracao tambem aplicam redaction por chave sensivel
135
+ (`*key*`, `*secret*`, `*token*`, `*password*`, `*credential*`, `*private*`,
136
+ `*auth*`) para evitar leakage acidental em stdout, JSON e contratos de
137
+ evidencia.
138
+ Para Azure OpenAI, aliases de deployment divergentes (`AZURE_OPENAI_DEPLOYMENT`
139
+ vs `AZURE_OPENAI_DEPLOYMENT_NAME`) entram em fail-fast e bloqueiam o runtime;
140
+ a precedencia valida usa `AZURE_OPENAI_DEPLOYMENT_NAME`, depois
141
+ `AZURE_OPENAI_DEPLOYMENT`, depois `AZURE_OPENAI_API_DEPLOYMENT_NAME`.
142
+
45
143
  ## Coordenacao opcional com Redis
46
144
 
47
145
  Redis e uma fronteira opcional para coordenacao tecnica de locks, cache, filas e eventos. Ele nao substitui a autoridade operacional de `.sdd/state/*.yaml`.
48
146
 
49
- Por padrao, CodeSDD usa locks em filesystem e adaptadores em memoria para cache, filas e eventos. A fabrica `createFilesystemFirstCoordinationAdapters` em `src/core/sdd/coordination/` mantem esse comportamento mesmo quando Redis e solicitado, ate que um adaptador Redis real seja instalado.
147
+ Por padrao, CodeSDD usa locks em filesystem, cache L1 em memoria e cache L2 em `~/.codesdd/cache/projects/<fingerprint>/coordination`. A fabrica `createFilesystemFirstCoordinationAdapters` em `src/core/sdd/coordination/` mantem esse comportamento mesmo quando Redis e solicitado, ate que um adaptador Redis real seja instalado.
50
148
 
51
149
  Variaveis reconhecidas:
52
150
 
@@ -57,11 +155,15 @@ Variaveis reconhecidas:
57
155
 
58
156
  Enquanto o cliente Redis nao existir no runtime, o status exposto e `requested-unavailable` e os defaults filesystem-first continuam autoritativos.
59
157
 
158
+ `codesdd config list` exibe o status atual da fronteira Redis e o namespace efetivo sem imprimir segredos.
159
+
60
160
  ## Contrato de nomenclatura
61
161
 
62
- O contrato canonico de identidade do produto vive em `.sdd/state/naming-contract.yaml`.
63
- Ele declara a identidade atual, a identidade alvo, as regras de rename por fase e
64
- o gate de residuo zero usado por `codesdd sdd scan-naming`.
162
+ O contrato canonico de identidade do produto vive em `.sdd/state/naming-contract.yaml`
163
+ quando persistido no projeto; se o arquivo ainda nao existir, a CLI usa o
164
+ contrato padrao de CodeSDD definido em `src/core/sdd/state.ts`. Ele declara a
165
+ identidade atual, a identidade alvo, as regras de rename por fase e o gate de
166
+ residuo zero usado por `codesdd sdd scan-naming`.
65
167
 
66
168
  Durante a migracao para CodeSDD, esse contrato permite manter uma janela de
67
169
  compatibilidade rastreavel sem perder o objetivo final: remover termos legados
@@ -92,18 +194,18 @@ Depois do bootstrap, o projeto passa a ter:
92
194
  - `.sdd/planning/`
93
195
  - `.sdd/active/`
94
196
  - `.sdd/archived/`
95
- - `.sdd/templates/`
197
+ - `.sdd/templates/` (YAML workspace templates)
96
198
  - `.sdd/skills/curated/`
97
199
  - `.sdd/sources/`
98
200
  - `.sdd/prompts/`
99
201
 
100
- Projetos CodeSDD-native nao devem criar `openspec/` como estrutura operacional.
101
- Quando um projeto legado ainda tiver `openspec/`, importe o corpus para
102
- `.sdd/sources/legacy/spec-corpus` com `codesdd sdd import-openspec` antes de
202
+ Projetos CodeSDD-native nao devem criar `legacy-spec/` como estrutura operacional.
203
+ Quando um projeto legado ainda tiver `legacy-spec/`, importe o corpus para
204
+ `.sdd/sources/legacy/spec-corpus` com `codesdd sdd import-legacy-spec` antes de
103
205
  remover a pasta antiga. O acesso de compatibilidade a esse corpus deve passar
104
206
  pelo servico CodeSDD de legacy capability em
105
207
  `src/core/sdd/services/legacy-capability.service.ts`; utilitarios antigos, como
106
- `src/utils/openspec-compat.ts`, existem apenas como shim.
208
+ `src/utils/legacy-spec-compat.ts`, existem apenas como shim.
107
209
 
108
210
  Dentro de `.sdd/` ficam:
109
211
 
@@ -127,8 +229,7 @@ A instalacao global oficial e feita via npm:
127
229
  npm install -g @devtrack-solution/codesdd
128
230
  ```
129
231
 
130
- O binario oficial publicado pelo pacote e `codesdd`. Durante a janela de
131
- compatibilidade, `codesdd` continua publicado como shim. Depois de instalar,
232
+ O binario principal publicado pelo pacote e `codesdd`. Depois de instalar,
132
233
  confira:
133
234
 
134
235
  ```bash
@@ -137,6 +238,36 @@ codesdd --version
137
238
 
138
239
  Se o terminal nao encontrar `codesdd`, a instalacao provavelmente foi concluida, mas o diretorio global do npm nao esta no `PATH` da sua sessao. Nesses casos, adicione o alias abaixo para o seu sistema operacional.
139
240
 
241
+ ### Configuracao global do CodeSDD
242
+
243
+ - Caminho canonico: `~/.codesdd/config.toml`
244
+ - Compatibilidade de leitura: `~/.config/codesdd/config.json` (somente fallback)
245
+ - O comando `codesdd config path` sempre exibe o caminho canonico atual.
246
+ - Cache global: `~/.codesdd/cache` com tiers logicos `providers`, `projects`, `schemas`, `deepagents` e `plugins`.
247
+ - O tier `projects` usa fingerprint por raiz de projeto para evitar colisao de cache entre repositorios.
248
+ - `codesdd config init` cria/normaliza `~/.codesdd/config.toml`, `~/.codesdd/cache/**` e `~/.codesdd/env.zsh` com conteudo nao secreto.
249
+ - Em shell Zsh, `codesdd config init` garante um bloco idempotente no `~/.zshrc` para `source ~/.codesdd/env.zsh`.
250
+ - O perfil gerado por `codesdd config init` e fail-closed: DeepAgents fica
251
+ desabilitado, runtime `disabled`, provider smoke `0` e rede `disabled` ate
252
+ que um operador habilite explicitamente um provedor live.
253
+
254
+ Fluxo seguro recomendado:
255
+
256
+ ```bash
257
+ codesdd config init
258
+ codesdd config path
259
+ codesdd config list
260
+ codesdd config doctor --json
261
+ ```
262
+
263
+ Para validar o modo deterministico sem credenciais:
264
+
265
+ ```bash
266
+ CODESDD_DEEPAGENTS_ENABLED=true \
267
+ CODESDD_DEEPAGENTS_RUNTIME=fake \
268
+ codesdd config doctor --json
269
+ ```
270
+
140
271
  ### Windows PowerShell
141
272
 
142
273
  ```powershell
@@ -148,13 +279,6 @@ Add-Content $PROFILE "`nfunction codesdd { & '$target' @args }"
148
279
  codesdd --version
149
280
  ```
150
281
 
151
- Se voce tambem precisar manter scripts legados que chamam `openspec`, adicione o alias de compatibilidade no mesmo perfil:
152
-
153
- ```powershell
154
- Add-Content $PROFILE "`nfunction openspec { codesdd @args }"
155
- . $PROFILE
156
- ```
157
-
158
282
  ### Linux
159
283
 
160
284
  Para Bash:
@@ -175,14 +299,6 @@ printf "\nalias codesdd='%s'\n" "$(npm prefix -g)/bin/codesdd" >> ~/.zshrc
175
299
  codesdd --version
176
300
  ```
177
301
 
178
- Alias legado opcional:
179
-
180
- ```bash
181
- printf "\nalias openspec='codesdd'\n" >> ~/.bashrc
182
- # ou, se usar Zsh:
183
- printf "\nalias openspec='codesdd'\n" >> ~/.zshrc
184
- ```
185
-
186
302
  ### macOS / MacBook
187
303
 
188
304
  O shell padrao atual do macOS e Zsh:
@@ -194,12 +310,6 @@ printf "\nalias codesdd='%s'\n" "$(npm prefix -g)/bin/codesdd" >> ~/.zshrc
194
310
  codesdd --version
195
311
  ```
196
312
 
197
- Alias legado opcional para comandos antigos:
198
-
199
- ```bash
200
- printf "\nalias openspec='codesdd'\n" >> ~/.zshrc
201
- ```
202
-
203
313
  Se voce estiver desenvolvendo este fork localmente:
204
314
 
205
315
  ```bash
@@ -213,10 +323,12 @@ Atalhos uteis de manutencao local:
213
323
  ```bash
214
324
  pnpm run cleanup
215
325
  pnpm run cleanup:install
326
+ pnpm run quality:review
216
327
  ```
217
328
 
218
329
  - `cleanup`: remove artefatos de build/cache local, rastros de ambiente (`.DS_Store`, `.idea/`, `.claude/`), stores legados de contexto local e logs de falha de compilacao/execucao.
219
330
  - `cleanup:install`: faz a limpeza acima e tambem remove `node_modules/` e lockfiles alternativos locais (`package-lock.json`, `yarn.lock`, `bun.lock*`), preservando o `pnpm-lock.yaml` versionado.
331
+ - `quality:review`: executa build, lint, testes, cobertura, validacao SDD e pack-version sem remover `node_modules/` nem executar `pnpm install`; use em revisoes/auditorias que nao devem limpar o workspace.
220
332
 
221
333
  ## Como iniciar em um projeto novo
222
334
 
@@ -274,7 +386,7 @@ Atalhos em portugues no CLI:
274
386
  Se o projeto ja esta em andamento, o primeiro passo depois do `install` e inicializar o contexto:
275
387
 
276
388
  ```bash
277
- codesdd sdd init-context
389
+ codesdd sdd init-context --frontend --lang en-US --layout en-US
278
390
  codesdd sdd check --render
279
391
  codesdd sdd onboard system
280
392
  ```
@@ -288,6 +400,13 @@ O `init-context` serve para:
288
400
 
289
401
  Em projetos grandes, esse bootstrap inicial nao substitui consolidacao progressiva. Ele cria uma base inicial para que o processo passe a evoluir de forma rastreavel.
290
402
 
403
+ Para reconfigurar um projeto ja inicializado com os artefatos, templates, skills
404
+ e views da versao instalada do CLI, use:
405
+
406
+ ```bash
407
+ codesdd reload --tools none --lang en-US --layout en-US
408
+ ```
409
+
291
410
  ## Como usar no dia a dia
292
411
 
293
412
  Fluxo principal:
@@ -328,16 +447,16 @@ contadores e pode ser executado em `--dry-run` antes de gravar.
328
447
  Para absorver o corpus legado de especificacoes antes da remocao da pasta formal:
329
448
 
330
449
  ```bash
331
- codesdd sdd import-openspec --dry-run
332
- codesdd sdd import-openspec
333
- codesdd sdd import-openspec --remove --yes
450
+ codesdd sdd import-legacy-spec --dry-run
451
+ codesdd sdd import-legacy-spec
452
+ codesdd sdd import-legacy-spec --remove --yes
334
453
  ```
335
454
 
336
- O `import-openspec` copia todos os arquivos de `openspec/` para
455
+ O `import-legacy-spec` copia todos os arquivos de `legacy-spec/` para
337
456
  `.sdd/sources/legacy/spec-corpus`, calcula SHA-256 e tamanho de cada fonte,
338
457
  registra cada item em `.sdd/state/source-index.yaml` e grava um relatorio em
339
- `.sdd/sources/legacy/spec-corpus/_codesdd-import-report.yaml`. A opcao `--remove`
340
- so e aceita junto de `--yes` e remove `openspec/` apenas depois de concluir a
458
+ `.sdd/sources/legacy/spec-corpus/_legacy-spec-import-report.yaml`. A opcao `--remove`
459
+ so e aceita junto de `--yes` e remove `legacy-spec/` apenas depois de concluir a
341
460
  copia e a verificacao de checksum.
342
461
 
343
462
  If there is no ready FEAT, onboarding now returns guided steps such as creating an insight, opening a debate, deciding, and breaking down an EPIC instead of leaving `next_steps` empty.
@@ -448,19 +567,69 @@ workspace ativa.
448
567
  codesdd sdd context FEAT-0001
449
568
  ```
450
569
 
451
- 4.1 Expor o bridge MCP para agentes externos
570
+ 4.1 Expor a fundacao MCP para agentes externos
571
+
572
+ No repositorio local, use o entrypoint versionado do checkout atual para validar
573
+ o contrato antes de empacotar ou publicar:
574
+
575
+ ```bash
576
+ node bin/codesdd.js --no-telemetry sdd mcp-manifest --provider codex --json
577
+ node bin/codesdd.js --no-telemetry sdd mcp-call codesdd.next --provider claude-code --json
578
+ node bin/codesdd.js --no-telemetry sdd mcp-call codesdd.context --provider open-code --ref FEAT-0001 --json
579
+ node bin/codesdd.js --no-telemetry sdd mcp-call codesdd.finalize --provider kimmy-code --ref FEAT-0001 --json
580
+ ```
581
+
582
+ Depois da instalacao, os mesmos contratos ficam disponiveis pelo binario
583
+ publico:
584
+
585
+ ```bash
586
+ codesdd sdd mcp-manifest --provider codex --json
587
+ codesdd sdd mcp-call codesdd.context --provider codex --ref FEAT-0001 --json
588
+ ```
589
+
590
+ ### Codex Live seguro
591
+
592
+ Para Codex, os prompts sao gerados no home global do cliente
593
+ (`$CODEX_HOME/prompts` ou `~/.codex/prompts`) e nao viram fonte operacional do
594
+ projeto. O estado canonico continua em `.sdd/state/*.yaml`.
595
+
596
+ Exemplo de configuracao local sem provedor live:
452
597
 
453
598
  ```bash
599
+ codesdd install --tools codex
600
+ codesdd config init
454
601
  codesdd sdd mcp-manifest --provider codex --json
455
- codesdd sdd mcp-call codesdd.next --provider claude-code --json
456
- codesdd sdd mcp-call codesdd.context --provider open-code --ref FEAT-0001 --json
457
- codesdd sdd mcp-call codesdd.finalize --provider kimmy-code --ref FEAT-0001 --json
602
+ codesdd sdd mcp-call codesdd.next --provider codex --json
603
+ ```
604
+
605
+ Exemplo de smoke live OpenAI, com credencial somente no launcher:
606
+
607
+ ```bash
608
+ export CODESDD_DEEPAGENTS_PROVIDER_SMOKE=1
609
+ export CODESDD_AGENT_PROVIDER=deepagents
610
+ export CODESDD_DEEPAGENTS_ENABLED=true
611
+ export CODESDD_DEEPAGENTS_RUNTIME=deepagents-js
612
+ export CODESDD_DEEPAGENTS_MODEL=openai:gpt-4o-mini
613
+ export CODESDD_AGENT_NETWORK_POLICY=restricted
614
+ export CODESDD_AGENT_ALLOWED_DOMAINS=api.openai.com
615
+ export OPENAI_API_KEY="<secret-from-manager>"
616
+ codesdd config doctor --json
458
617
  ```
459
618
 
460
- O bridge MCP do CodeSDD e agnóstico a provedor e publica um envelope estável
461
- para `codesdd.next`, `codesdd.context` e `codesdd.finalize`, cobrindo Codex,
462
- Claude Code, Kimmy Code, Kilo Code, Open Code e clientes genéricos sem criar
463
- um estado paralelo fora do workspace canônico.
619
+ A fundacao MCP do CodeSDD e agnostica a provedor e publica o envelope
620
+ `codesdd-mcp-bridge/v1` para as ferramentas canonicas `codesdd.next`,
621
+ `codesdd.context`, `codesdd.query`, `codesdd.read` e os demais nomes
622
+ `codesdd.*` documentados pelo manifest.
623
+
624
+ Perfis aceitos por `--provider`: `codex`, `claude-code`, `kimmy-code`,
625
+ `kilo-code`, `open-code` e `generic`. Para OpenCode/Open Code, o bridge MCP usa
626
+ o identificador `open-code`; `opencode` aparece em contratos antigos de
627
+ agent-binding e nao e aceito por `sdd mcp-manifest` neste runtime.
628
+
629
+ Matriz de provedores: consulte
630
+ [docs/mcp-provider-compatibility.md](docs/mcp-provider-compatibility.md),
631
+ mantida por FEAT-0164/Worker 4, para a tabela de clientes, IDs MCP, aliases,
632
+ evidencias esperadas e a diferenca entre `open-code` e `opencode`.
464
633
 
465
634
  5. Implementar
466
635
 
@@ -636,6 +805,8 @@ The SDD bootstrap installs local curation in:
636
805
  ```
637
806
 
638
807
  The default curation currently includes 66 skills across 8 bundles (canonical source: `.sdd/state/skill-catalog.yaml`).
808
+ Skill catalog entries now follow the v2 metadata contract with `token_budget`, `integrity_hash`, `deterministic_pair`, `deprecated_at`, and `superseded_by` for routing governance and lifecycle traceability.
809
+ `codesdd sdd skills sync` now enforces SHA-256 drift detection by layer: canonical curated skills block sync on `missing/modified` manifest hash, while user-extension skills emit non-blocking alerts so local customization remains possible.
639
810
 
640
811
  Entre elas:
641
812
 
@@ -647,7 +818,15 @@ Entre elas:
647
818
  - `api-clean-flask-langgraph` (bundle `python-agentic-backend`)
648
819
  - `devtrack-api` (bundle `architecture-backend`, canonical DevTrack/NestJS/TypeORM API architecture)
649
820
 
650
- Skill routing is operational, not decorative. When `codesdd sdd context <FEAT-ID>` returns `recommended_skills`, or when a user explicitly directs a skill, the agent must read and follow that skill before implementation and record one `skill_evidence` entry per required skill in `.sdd/active/<FEAT-ID>/5-quality.yaml` before finalize. For DevTrack/Foundation backend API work, `devtrack-api` is the canonical architecture and naming source.
821
+ Skill routing is operational, not decorative. When `codesdd sdd context <FEAT-ID>` returns `recommended_skills`, or when a user explicitly directs a skill, the agent must read and follow that skill before implementation and record one `skill_evidence` entry per required skill in `.sdd/active/<FEAT-ID>/5-quality.yaml` before finalize. For API/backend work without an explicit alternative skill/profile, `devtrack-api` is the default architecture and naming source. Explicit Python/Flask API work remains routed to `api-clean-flask-langgraph`.
822
+
823
+ The `devtrack-api` skill has a Foundation-layout conformance test. When the Foundation checkout is not at `/Volumes/WORKSPACE/DEVTRACK_TOOLS/devtrack-foundation-api`, set `CODESDD_FOUNDATION_API_ROOT=/path/to/devtrack-foundation-api` before running `pnpm test -- test/specs/devtrack-api-foundation-layout.test.ts`.
824
+
825
+ The executable `devtrack-api` contract pack lives in `.sdd/skills/curated/devtrack-api/references/contract-pack.yaml`. It defines the `prototype`, `foundation-compatible`, and `enterprise-strict` profiles, P0/P1/P2 severity semantics, early package-preview expectations, import/alias and TypeORM drift rules, and the `codesdd-validate` plus field-evidence drift maps consumed by later governance gates.
826
+
827
+ Consumer copies of `devtrack-api` are one-way CodeSDD materializations, not durable edit targets. The sync policy lives in `.sdd/skills/curated/devtrack-api/references/consumer-sync-policy.md`: update the consumer project through its CodeSDD update/bootstrap flow, compare the consumer copy with the canonical CodeSDD source, and record source version plus diff evidence in the consumer FEAT quality or handoff.
828
+
829
+ Field validation for `devtrack-api` is governed by `.sdd/skills/curated/devtrack-api/references/field-validation-protocol.md`. A consumer project must keep its own evidence showing at least two detailed implementation debates and closure of divergence classes D-01 through D-08; CodeSDD keeps the protocol and external reference, not private consumer ledgers.
651
830
 
652
831
  Prompts recomendados tambem sao instalados em:
653
832
 
@@ -682,7 +861,9 @@ Bootstrap:
682
861
 
683
862
  - `codesdd install --tools none`
684
863
  - `codesdd install --tools all`
864
+ - `codesdd reload --tools none`
685
865
  - `codesdd sdd init-context`
866
+ - `codesdd sdd init-context --frontend --lang en-US --layout en-US`
686
867
  - `codesdd sdd check --render`
687
868
  - `codesdd sdd check --render --strict`
688
869
  - `codesdd sdd diagnose`
@@ -769,7 +950,8 @@ O comando global oficial deste fork e:
769
950
  codesdd
770
951
  ```
771
952
 
772
- O caminho de distribuicao oficial deste repositorio e npm. Veja a secao [Instalacao global](#instalacao-global) para instalar globalmente e configurar o alias por sistema operacional.
953
+ O caminho de distribuicao oficial deste repositorio e npm. Veja a secao
954
+ [Instalacao global](#instalacao-global) para instalar globalmente.
773
955
 
774
956
  ```bash
775
957
  npm install -g @devtrack-solution/codesdd
@@ -801,7 +983,7 @@ O CLI possui telemetria anônima de uso com desenho privacy-first:
801
983
 
802
984
  - sem captura de argumentos, conteúdo ou caminhos de arquivos;
803
985
  - desabilitada em CI;
804
- - opt-out via `OPENSPEC_TELEMETRY=0` ou `DO_NOT_TRACK=1`.
986
+ - opt-out via `CODESDD_TELEMETRY=0` ou `DO_NOT_TRACK=1`.
805
987
  - opt-out explícito por execução com `--no-telemetry`;
806
988
  - eventos de conclusão incluem `duration_ms` estruturado para observabilidade sem
807
989
  enviar argumentos ou conteúdo.
@@ -820,6 +1002,12 @@ Operational authority:
820
1002
  - Human-readable operational views are derived from `.sdd/core/*.md` and `.sdd/planning/*.md`.
821
1003
  - Do not use external context, memory, workflow, or backlog tools as a project source of truth.
822
1004
 
1005
+ Initial operational directives:
1006
+ - CodeSDD is the official planner for any build request; other planners or agent-native plans are secondary execution aids only.
1007
+ - For API/backend work, use `devtrack-api` by default unless the user or SDD context explicitly selects another skill/profile; Python/Flask API work stays routed to `api-clean-flask-langgraph`.
1008
+ - During init, onboard, insight, and debate flows, CodeSDD-managed agent instruction blocks must be inspected and reconfigured when they drift from this contract.
1009
+ - Commit requests must follow Conventional Commits, selective staging, and grouping by modified directory plus change protocol (`src`, `.sdd`, docs, config, infra, dependencies, or generated files).
1010
+
823
1011
  Read order for any new agent:
824
1012
  1. `README.md` (this block)
825
1013
  2. `.sdd/AGENT.md`
@@ -839,4 +1027,8 @@ Essential commands:
839
1027
  - update `.sdd/active/<FEAT-ID>/5-quality.yaml`
840
1028
  - `codesdd sdd frontend-impact <FEAT-ID> --status required|none --reason "..."`
841
1029
  - `codesdd sdd finalize --ref <FEAT-ID>`
1030
+ - `codesdd sdd diagnose`
1031
+ - `codesdd sdd check --render`
1032
+ - confirm `DONE`, `current_stage: consolidacao`, `done_at`, `archived_at`, `.sdd/archived/<FEAT-ID>/`, and no `.sdd/active/<FEAT-ID>/`
1033
+ - triage remote security warnings such as Dependabot as a fix, exception, or follow-up SDD item
842
1034
  <!-- SDD:ONBOARDING:END -->
package/bin/codesdd.js CHANGED
@@ -5,6 +5,7 @@ process.env.CODESDD_CLI_PACKAGE_NAME = '@devtrack-solution/codesdd';
5
5
  process.env.CODESDD_CLI_ENTRYPOINT = 'bin/codesdd.js';
6
6
  process.env.CODESDD_CLI_PRODUCT_NAME = 'CodeSDD';
7
7
 
8
- delete process.env.CODESDD_CLI_IMPORT;
8
+ process.env.CODESDD_CLI_IMPORT = '1';
9
9
 
10
- await import('../dist/cli/index.js');
10
+ const { runCli } = await import('../dist/cli/index.js');
11
+ await runCli();
@@ -1,3 +1,3 @@
1
- import { Command } from 'commander';
2
- export declare const program: Command;
1
+ export { createCliProgram, getCommandPath, runCli } from './program.js';
2
+ export declare const program: import("commander").Command;
3
3
  //# sourceMappingURL=index.d.ts.map