@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.
- package/.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md +17 -17
- package/.sdd/skills/curated/devtrack-api/SKILL.md +170 -31
- package/.sdd/skills/curated/devtrack-api/agents/claude-code.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/codex.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/cursor.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/gemini.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/kimi.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/openai.yaml +4 -2
- package/.sdd/skills/curated/devtrack-api/agents/opencode.yaml +10 -0
- package/.sdd/skills/curated/devtrack-api/references/application-presentation.md +2 -2
- package/.sdd/skills/curated/devtrack-api/references/architecture-governance.md +8 -7
- package/.sdd/skills/curated/devtrack-api/references/consumer-sync-policy.md +93 -0
- package/.sdd/skills/curated/devtrack-api/references/contract-pack.yaml +372 -0
- package/.sdd/skills/curated/devtrack-api/references/domain-modeling.md +13 -13
- package/.sdd/skills/curated/devtrack-api/references/field-validation-protocol.md +95 -0
- package/.sdd/skills/curated/devtrack-api/references/foundation-layout.md +294 -0
- package/.sdd/skills/curated/devtrack-api/references/implementation-checklist.md +5 -5
- package/.sdd/skills/curated/devtrack-api/references/imports-lint.md +4 -0
- package/.sdd/skills/curated/devtrack-api/references/portable-agent-contract.md +41 -0
- package/.sdd/skills/curated/devtrack-api/references/testing-validation.md +2 -2
- package/.sdd/skills/curated/devtrack-api/references/typeorm-infrastructure.md +7 -9
- package/LICENSE +1 -1
- package/README.md +399 -53
- package/bin/codesdd.js +3 -2
- package/dist/applications/sdd/index.d.ts +16 -0
- package/dist/applications/sdd/index.js +16 -0
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +11 -558
- package/dist/cli/program.d.ts +14 -0
- package/dist/cli/program.js +645 -0
- package/dist/commands/change.js +5 -5
- package/dist/commands/completion.d.ts +1 -1
- package/dist/commands/completion.js +9 -2
- package/dist/commands/config.js +320 -20
- package/dist/commands/feedback.js +1 -1
- package/dist/commands/schema.d.ts +63 -0
- package/dist/commands/schema.js +12 -12
- package/dist/commands/sdd/backlog.d.ts +3 -0
- package/dist/commands/sdd/backlog.js +54 -0
- package/dist/commands/sdd/execution.js +489 -28
- package/dist/commands/sdd/plugin.d.ts +3 -0
- package/dist/commands/sdd/plugin.js +158 -0
- package/dist/commands/sdd/shared.d.ts +1 -0
- package/dist/commands/sdd/shared.js +11 -22
- package/dist/commands/sdd/skills.js +7 -0
- package/dist/commands/sdd.js +107 -15
- package/dist/commands/spec.js +9 -9
- package/dist/commands/validate.js +6 -6
- package/dist/commands/workflow/instructions.js +6 -6
- package/dist/commands/workflow/new-change.js +3 -3
- package/dist/commands/workflow/shared.d.ts +1 -1
- package/dist/commands/workflow/shared.js +4 -4
- package/dist/core/archive.js +15 -5
- package/dist/core/artifact-graph/instruction-loader.d.ts +1 -1
- package/dist/core/artifact-graph/instruction-loader.js +3 -3
- package/dist/core/artifact-graph/resolver.d.ts +4 -4
- package/dist/core/artifact-graph/resolver.js +6 -6
- package/dist/core/branding.js +3 -3
- package/dist/core/cli/command-matrix.js +19 -1
- package/dist/core/cli-command-quality.d.ts +27 -0
- package/dist/core/cli-command-quality.js +180 -0
- package/dist/core/command-generation/adapters/costrict.d.ts +1 -1
- package/dist/core/command-generation/adapters/costrict.js +2 -2
- package/dist/core/command-generation/types.d.ts +1 -1
- package/dist/core/completions/command-registry.d.ts +1 -1
- package/dist/core/completions/command-registry.js +200 -12
- package/dist/core/completions/completion-provider.d.ts +14 -1
- package/dist/core/completions/completion-provider.js +29 -1
- package/dist/core/completions/generators/bash-generator.d.ts +1 -1
- package/dist/core/completions/generators/bash-generator.js +20 -12
- package/dist/core/completions/generators/fish-generator.d.ts +9 -1
- package/dist/core/completions/generators/fish-generator.js +39 -25
- package/dist/core/completions/generators/powershell-generator.d.ts +1 -1
- package/dist/core/completions/generators/powershell-generator.js +21 -11
- package/dist/core/completions/generators/zsh-generator.d.ts +3 -6
- package/dist/core/completions/generators/zsh-generator.js +21 -42
- package/dist/core/completions/installers/bash-installer.js +6 -6
- package/dist/core/completions/installers/fish-installer.js +1 -1
- package/dist/core/completions/installers/powershell-installer.js +14 -14
- package/dist/core/completions/installers/zsh-installer.d.ts +7 -1
- package/dist/core/completions/installers/zsh-installer.js +36 -8
- package/dist/core/completions/templates/bash-templates.d.ts +1 -1
- package/dist/core/completions/templates/bash-templates.js +12 -6
- package/dist/core/completions/templates/fish-templates.d.ts +2 -2
- package/dist/core/completions/templates/fish-templates.js +20 -9
- package/dist/core/completions/templates/powershell-templates.d.ts +1 -1
- package/dist/core/completions/templates/powershell-templates.js +13 -4
- package/dist/core/completions/templates/zsh-templates.d.ts +1 -1
- package/dist/core/completions/templates/zsh-templates.js +18 -9
- package/dist/core/config-schema.d.ts +20 -1
- package/dist/core/config-schema.js +70 -2
- package/dist/core/config.d.ts +3 -3
- package/dist/core/config.js +4 -4
- package/dist/core/global-config.d.ts +57 -12
- package/dist/core/global-config.js +344 -27
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +2 -2
- package/dist/core/init.d.ts +6 -1
- package/dist/core/init.js +99 -77
- package/dist/core/legacy-cleanup.d.ts +17 -17
- package/dist/core/legacy-cleanup.js +96 -79
- package/dist/core/list.js +18 -4
- package/dist/core/migration.d.ts +3 -1
- package/dist/core/migration.js +7 -8
- package/dist/core/parsers/change-parser.js +1 -1
- package/dist/core/parsers/markdown-parser.js +2 -2
- package/dist/core/profile-sync-drift.d.ts +1 -1
- package/dist/core/profile-sync-drift.js +13 -13
- package/dist/core/project-config.d.ts +4 -4
- package/dist/core/project-config.js +11 -11
- package/dist/core/schemas/change.schema.d.ts +1 -1
- package/dist/core/schemas/change.schema.js +1 -1
- package/dist/core/schemas/spec.schema.d.ts +1 -1
- package/dist/core/schemas/spec.schema.js +1 -1
- package/dist/core/sdd/adr.js +23 -1
- package/dist/core/sdd/agent-binding.d.ts +346 -0
- package/dist/core/sdd/agent-binding.js +343 -0
- package/dist/core/sdd/agent-runtime-contract.d.ts +204 -0
- package/dist/core/sdd/agent-runtime-contract.js +200 -0
- package/dist/core/sdd/backlog-cli.d.ts +16 -0
- package/dist/core/sdd/backlog-cli.js +146 -0
- package/dist/core/sdd/backlog-conflict-policy.d.ts +58 -0
- package/dist/core/sdd/backlog-conflict-policy.js +230 -0
- package/dist/core/sdd/backlog-projection.d.ts +8 -0
- package/dist/core/sdd/backlog-projection.js +89 -0
- package/dist/core/sdd/backlog-provider-contract.d.ts +252 -0
- package/dist/core/sdd/backlog-provider-contract.js +158 -0
- package/dist/core/sdd/bootstrap.js +2 -2
- package/dist/core/sdd/check.d.ts +44 -0
- package/dist/core/sdd/check.js +62 -24
- package/dist/core/sdd/contract.d.ts +13 -0
- package/dist/core/sdd/contract.js +36 -0
- package/dist/core/sdd/coordination/coordination-adapters.d.ts +53 -8
- package/dist/core/sdd/coordination/coordination-adapters.js +182 -16
- package/dist/core/sdd/coordination/index.d.ts +1 -0
- package/dist/core/sdd/coordination/index.js +1 -0
- package/dist/core/sdd/coordination/redis-runtime.d.ts +131 -0
- package/dist/core/sdd/coordination/redis-runtime.js +698 -0
- package/dist/core/sdd/deepagent-contracts.d.ts +370 -0
- package/dist/core/sdd/deepagent-contracts.js +235 -0
- package/dist/core/sdd/deepagents/adr-governor.d.ts +2 -0
- package/dist/core/sdd/deepagents/adr-governor.js +30 -0
- package/dist/core/sdd/deepagents/backend.d.ts +63 -0
- package/dist/core/sdd/deepagents/backend.js +174 -0
- package/dist/core/sdd/deepagents/codesdd-tools.d.ts +39 -0
- package/dist/core/sdd/deepagents/codesdd-tools.js +83 -0
- package/dist/core/sdd/deepagents/evidence-mapper.d.ts +86 -0
- package/dist/core/sdd/deepagents/evidence-mapper.js +178 -0
- package/dist/core/sdd/deepagents/model-provider.d.ts +53 -0
- package/dist/core/sdd/deepagents/model-provider.js +379 -0
- package/dist/core/sdd/deepagents/policy-enforcement.d.ts +30 -0
- package/dist/core/sdd/deepagents/policy-enforcement.js +90 -0
- package/dist/core/sdd/deepagents/policy.d.ts +75 -0
- package/dist/core/sdd/deepagents/policy.js +358 -0
- package/dist/core/sdd/deepagents/quality-witness.d.ts +3 -0
- package/dist/core/sdd/deepagents/quality-witness.js +77 -0
- package/dist/core/sdd/deepagents/reversa-subagents.d.ts +75 -0
- package/dist/core/sdd/deepagents/reversa-subagents.js +182 -0
- package/dist/core/sdd/deepagents/runtime-factory.d.ts +90 -0
- package/dist/core/sdd/deepagents/runtime-factory.js +231 -0
- package/dist/core/sdd/deepagents/runtime-loader.d.ts +16 -0
- package/dist/core/sdd/deepagents/runtime-loader.js +65 -0
- package/dist/core/sdd/default-bootstrap-files.d.ts +3 -3
- package/dist/core/sdd/default-bootstrap-files.js +50 -10
- package/dist/core/sdd/default-skills.d.ts +30 -0
- package/dist/core/sdd/default-skills.js +288 -8
- package/dist/core/sdd/devtrack-api-appliance.d.ts +91 -0
- package/dist/core/sdd/devtrack-api-appliance.js +280 -0
- package/dist/core/sdd/devtrack-api-architecture.d.ts +31 -0
- package/dist/core/sdd/devtrack-api-architecture.js +608 -0
- package/dist/core/sdd/devtrack-api-import-boundary.d.ts +19 -0
- package/dist/core/sdd/devtrack-api-import-boundary.js +32 -0
- package/dist/core/sdd/diagnose.d.ts +59 -0
- package/dist/core/sdd/diagnose.js +37 -37
- package/dist/core/sdd/docs-sync.js +54 -20
- package/dist/core/sdd/domain/capability-diff.d.ts +63 -0
- package/dist/core/sdd/domain/capability-diff.js +200 -0
- package/dist/core/sdd/domain/change-safety-guardrails.d.ts +74 -0
- package/dist/core/sdd/domain/change-safety-guardrails.js +333 -0
- package/dist/core/sdd/domain/post-active-validation.d.ts +7 -0
- package/dist/core/sdd/domain/post-active-validation.js +61 -0
- package/dist/core/sdd/domain/semantic-intent-classifier.d.ts +29 -0
- package/dist/core/sdd/domain/semantic-intent-classifier.js +117 -0
- package/dist/core/sdd/domain/transition-engine.js +1 -0
- package/dist/core/sdd/entity-reference.d.ts +5 -0
- package/dist/core/sdd/entity-reference.js +22 -0
- package/dist/core/sdd/foundation-artifact-map-validator.d.ts +16 -0
- package/dist/core/sdd/foundation-artifact-map-validator.js +71 -0
- package/dist/core/sdd/foundation-layer-manifest.d.ts +24 -0
- package/dist/core/sdd/foundation-layer-manifest.js +117 -0
- package/dist/core/sdd/governance-backfill.d.ts +31 -0
- package/dist/core/sdd/governance-backfill.js +359 -0
- package/dist/core/sdd/governance-parser.d.ts +21 -0
- package/dist/core/sdd/governance-parser.js +91 -0
- package/dist/core/sdd/governance-schemas.d.ts +245 -0
- package/dist/core/sdd/governance-schemas.js +143 -0
- package/dist/core/sdd/{import-openspec.d.ts → import-legacy-spec.d.ts} +7 -7
- package/dist/core/sdd/{import-openspec.js → import-legacy-spec.js} +21 -29
- package/dist/core/sdd/init.d.ts +3 -0
- package/dist/core/sdd/init.js +6 -3
- package/dist/core/sdd/intent-guard.d.ts +22 -0
- package/dist/core/sdd/intent-guard.js +67 -0
- package/dist/core/sdd/json-schema.js +108 -6
- package/dist/core/sdd/knowledge-graph.d.ts +45 -0
- package/dist/core/sdd/knowledge-graph.js +288 -0
- package/dist/core/sdd/legacy-operations.js +507 -44
- package/dist/core/sdd/lenses.d.ts +1 -0
- package/dist/core/sdd/lenses.js +29 -1
- package/dist/core/sdd/migrate-workspace.js +95 -2
- package/dist/core/sdd/migrate.d.ts +1 -1
- package/dist/core/sdd/migrate.js +36 -2
- package/dist/core/sdd/package-security-gates.d.ts +21 -0
- package/dist/core/sdd/package-security-gates.js +119 -0
- package/dist/core/sdd/package-structure-gate.d.ts +83 -0
- package/dist/core/sdd/package-structure-gate.js +357 -0
- package/dist/core/sdd/parallel-feat-automation.d.ts +330 -0
- package/dist/core/sdd/parallel-feat-automation.js +424 -0
- package/dist/core/sdd/plugin-broker.d.ts +777 -0
- package/dist/core/sdd/plugin-broker.js +492 -0
- package/dist/core/sdd/plugin-certification.d.ts +79 -0
- package/dist/core/sdd/plugin-certification.js +453 -0
- package/dist/core/sdd/plugin-cli.d.ts +139 -0
- package/dist/core/sdd/plugin-cli.js +265 -0
- package/dist/core/sdd/plugin-evidence.d.ts +348 -0
- package/dist/core/sdd/plugin-evidence.js +307 -0
- package/dist/core/sdd/plugin-manifest.d.ts +232 -0
- package/dist/core/sdd/plugin-manifest.js +225 -0
- package/dist/core/sdd/plugin-policy-pack.d.ts +88 -0
- package/dist/core/sdd/plugin-policy-pack.js +236 -0
- package/dist/core/sdd/plugin-policy.d.ts +68 -0
- package/dist/core/sdd/plugin-policy.js +212 -0
- package/dist/core/sdd/plugin-registry.d.ts +447 -0
- package/dist/core/sdd/plugin-registry.js +138 -0
- package/dist/core/sdd/plugin-sdk-contract.d.ts +363 -0
- package/dist/core/sdd/plugin-sdk-contract.js +268 -0
- package/dist/core/sdd/plugin-skill-binding.d.ts +151 -0
- package/dist/core/sdd/plugin-skill-binding.js +339 -0
- package/dist/core/sdd/quality-artifact-manifest-validator.d.ts +28 -0
- package/dist/core/sdd/quality-artifact-manifest-validator.js +167 -0
- package/dist/core/sdd/quality-evidence-renderer.d.ts +65 -0
- package/dist/core/sdd/quality-evidence-renderer.js +218 -0
- package/dist/core/sdd/quality-scenario-runner.d.ts +42 -0
- package/dist/core/sdd/quality-scenario-runner.js +613 -0
- package/dist/core/sdd/quality-validation.d.ts +620 -0
- package/dist/core/sdd/quality-validation.js +239 -0
- package/dist/core/sdd/release-readiness.d.ts +19 -0
- package/dist/core/sdd/release-readiness.js +472 -0
- package/dist/core/sdd/resolve-project-root.d.ts +2 -2
- package/dist/core/sdd/resolve-project-root.js +11 -5
- package/dist/core/sdd/runtime-boundary-contract.d.ts +45 -0
- package/dist/core/sdd/runtime-boundary-contract.js +90 -0
- package/dist/core/sdd/sanitize.d.ts +30 -1
- package/dist/core/sdd/sanitize.js +23 -23
- package/dist/core/sdd/sdk-agent-plugin-quality-gates.d.ts +150 -0
- package/dist/core/sdd/sdk-agent-plugin-quality-gates.js +258 -0
- package/dist/core/sdd/services/agent-run.service.d.ts +97 -0
- package/dist/core/sdd/services/agent-run.service.js +261 -0
- package/dist/core/sdd/services/breakdown.service.js +2 -1
- package/dist/core/sdd/services/capability-diff.service.d.ts +18 -0
- package/dist/core/sdd/services/capability-diff.service.js +26 -0
- package/dist/core/sdd/services/change-safety-preflight.service.d.ts +17 -0
- package/dist/core/sdd/services/change-safety-preflight.service.js +17 -0
- package/dist/core/sdd/services/context.service.d.ts +43 -340
- package/dist/core/sdd/services/context.service.js +341 -25
- package/dist/core/sdd/services/debate.service.js +15 -2
- package/dist/core/sdd/services/feature-lint.service.d.ts +22 -0
- package/dist/core/sdd/services/feature-lint.service.js +105 -5
- package/dist/core/sdd/services/finalize.service.d.ts +105 -0
- package/dist/core/sdd/services/finalize.service.js +499 -38
- package/dist/core/sdd/services/frontend-gap.service.js +22 -7
- package/dist/core/sdd/services/frontend-impact.service.d.ts +1 -1
- package/dist/core/sdd/services/governance-control-plane-runtime-adapters.d.ts +17 -0
- package/dist/core/sdd/services/governance-control-plane-runtime-adapters.js +38 -0
- package/dist/core/sdd/services/governance-control-plane.service.d.ts +66 -0
- package/dist/core/sdd/services/governance-control-plane.service.js +134 -0
- package/dist/core/sdd/services/ingest-deposito.service.js +1 -1
- package/dist/core/sdd/services/legacy-capability.service.d.ts +10 -7
- package/dist/core/sdd/services/legacy-capability.service.js +38 -21
- package/dist/core/sdd/services/mcp-runtime.service.d.ts +123 -8
- package/dist/core/sdd/services/mcp-runtime.service.js +1085 -33
- package/dist/core/sdd/services/onboard.service.js +2 -1
- package/dist/core/sdd/services/rebuild.service.js +6 -1
- package/dist/core/sdd/services/semantic-intent-classifier.service.d.ts +6 -0
- package/dist/core/sdd/services/semantic-intent-classifier.service.js +7 -0
- package/dist/core/sdd/services/skills-sync.service.d.ts +17 -5
- package/dist/core/sdd/services/skills-sync.service.js +55 -2
- package/dist/core/sdd/services/start.service.js +6 -4
- package/dist/core/sdd/skill-bundles-curation-schema.d.ts +66 -0
- package/dist/core/sdd/skill-bundles-curation-schema.js +52 -0
- package/dist/core/sdd/skill-evidence.d.ts +19 -0
- package/dist/core/sdd/skill-evidence.js +38 -0
- package/dist/core/sdd/skill-policy-pool.d.ts +46 -0
- package/dist/core/sdd/skill-policy-pool.js +185 -0
- package/dist/core/sdd/state.d.ts +23 -0
- package/dist/core/sdd/state.js +313 -66
- package/dist/core/sdd/store/sdd-stores.js +2 -2
- package/dist/core/sdd/structural-health.d.ts +55 -55
- package/dist/core/sdd/types.d.ts +60 -19
- package/dist/core/sdd/types.js +21 -0
- package/dist/core/sdd/upgrade-to-codesdd.d.ts +45 -0
- package/dist/core/sdd/upgrade-to-codesdd.js +179 -0
- package/dist/core/sdd/views.js +17 -0
- package/dist/core/sdd/workspace-schemas.d.ts +670 -19
- package/dist/core/sdd/workspace-schemas.js +285 -5
- package/dist/core/sdd/write-manifest.js +22 -4
- package/dist/core/shared/skill-generation.d.ts +1 -1
- package/dist/core/shared/skill-generation.js +15 -15
- package/dist/core/shared/tool-detection.d.ts +3 -3
- package/dist/core/shared/tool-detection.js +14 -14
- package/dist/core/specs-apply.js +6 -6
- package/dist/core/templates/index.d.ts +1 -1
- package/dist/core/templates/index.js +1 -1
- package/dist/core/templates/workflows/apply-change.js +14 -14
- package/dist/core/templates/workflows/archive-change.js +32 -32
- package/dist/core/templates/workflows/bulk-archive-change.js +25 -25
- package/dist/core/templates/workflows/continue-change.js +12 -12
- package/dist/core/templates/workflows/explore.js +29 -29
- package/dist/core/templates/workflows/feedback.js +6 -6
- package/dist/core/templates/workflows/ff-change.js +24 -24
- package/dist/core/templates/workflows/new-change.js +20 -20
- package/dist/core/templates/workflows/onboard.js +33 -33
- package/dist/core/templates/workflows/propose.js +23 -23
- package/dist/core/templates/workflows/sdd.js +8 -8
- package/dist/core/templates/workflows/sync-specs.js +19 -19
- package/dist/core/templates/workflows/verify-change.js +17 -17
- package/dist/core/update.d.ts +2 -2
- package/dist/core/update.js +16 -15
- package/dist/core/validation/constants.d.ts +1 -1
- package/dist/core/validation/constants.js +1 -1
- package/dist/core/view.js +11 -11
- package/dist/domains/sdd/index.d.ts +6 -0
- package/dist/domains/sdd/index.js +6 -0
- package/dist/infrastructures/sdd/index.d.ts +7 -0
- package/dist/infrastructures/sdd/index.js +6 -0
- package/dist/presentations/cli/sdd/index.d.ts +3 -0
- package/dist/presentations/cli/sdd/index.js +3 -0
- package/dist/shared/sdd/index.d.ts +3 -0
- package/dist/shared/sdd/index.js +2 -0
- package/dist/telemetry/config.d.ts +2 -1
- package/dist/telemetry/config.js +17 -8
- package/dist/telemetry/index.d.ts +10 -2
- package/dist/telemetry/index.js +40 -7
- package/dist/ui/ascii-patterns.d.ts +2 -2
- package/dist/ui/ascii-patterns.js +2 -2
- package/dist/ui/welcome-screen.js +2 -2
- package/dist/utils/change-metadata.d.ts +4 -4
- package/dist/utils/change-metadata.js +6 -6
- package/dist/utils/change-utils.d.ts +3 -3
- package/dist/utils/change-utils.js +5 -5
- package/dist/utils/file-system.js +1 -1
- package/dist/utils/interactive.js +1 -1
- package/dist/utils/item-discovery.js +4 -4
- package/dist/utils/legacy-spec-compat.d.ts +2 -0
- package/dist/utils/legacy-spec-compat.js +2 -0
- package/dist/utils/shell-detection.d.ts +1 -0
- package/dist/utils/shell-detection.js +16 -0
- package/package.json +34 -21
- package/schemas/sdd/1-spec.schema.json +1 -1
- package/schemas/sdd/2-plan.schema.json +280 -3
- package/schemas/sdd/3-tasks.schema.json +73 -1
- package/schemas/sdd/4-changelog.schema.json +1 -1
- package/schemas/sdd/5-quality.schema.json +701 -5
- package/schemas/sdd/adr.schema.json +148 -0
- package/schemas/sdd/agent-binding-adapter.schema.json +210 -0
- package/schemas/sdd/agent-binding-resolution.schema.json +338 -0
- package/schemas/sdd/agent-runtime-command-plan.schema.json +212 -0
- package/schemas/sdd/agent-runtime-opencode-run-evidence.schema.json +270 -0
- package/schemas/sdd/backlog-projection-plan.schema.json +180 -0
- package/schemas/sdd/backlog-provider-contract.schema.json +260 -0
- package/schemas/sdd/codesdd-plugin.schema.json +645 -0
- package/schemas/sdd/debate.schema.json +244 -0
- package/schemas/sdd/deepagent-decision-evidence.schema.json +58 -0
- package/schemas/sdd/deepagent-env-contract.schema.json +143 -0
- package/schemas/sdd/deepagent-quality-evidence.schema.json +108 -0
- package/schemas/sdd/deepagent-run-evidence.schema.json +192 -0
- package/schemas/sdd/deepagent-run-plan.schema.json +197 -0
- package/schemas/sdd/deepagent-run-request.schema.json +637 -0
- package/schemas/sdd/deepagent-subagent-evidence.schema.json +110 -0
- package/schemas/sdd/deepagent-tool-call-evidence.schema.json +78 -0
- package/schemas/sdd/discarded.schema.json +127 -0
- package/schemas/sdd/epic.schema.json +147 -0
- package/schemas/sdd/insight.schema.json +136 -0
- package/schemas/sdd/parallel-feat-automation-plan.schema.json +304 -0
- package/schemas/sdd/parallel-feat-automation-request.schema.json +109 -0
- package/schemas/sdd/parallel-feat-scheduler-request.schema.json +116 -0
- package/schemas/sdd/parallel-feat-scheduler-result.schema.json +404 -0
- package/schemas/sdd/plugin-artifact-manifest.schema.json +259 -0
- package/schemas/sdd/plugin-artifact-map.schema.json +223 -0
- package/schemas/sdd/plugin-compliance-index.schema.json +136 -0
- package/schemas/sdd/plugin-dry-run-plan.schema.json +260 -0
- package/schemas/sdd/plugin-evidence-manifest.schema.json +678 -0
- package/schemas/sdd/plugin-language-runtime.schema.json +103 -0
- package/schemas/sdd/plugin-package-governance.schema.json +74 -0
- package/schemas/sdd/plugin-policy-evaluation.schema.json +92 -0
- package/schemas/sdd/plugin-policy-pack-evaluation.schema.json +94 -0
- package/schemas/sdd/plugin-policy-pack.schema.json +196 -0
- package/schemas/sdd/plugin-registry.schema.json +729 -0
- package/schemas/sdd/plugin-rollback-manifest.schema.json +87 -0
- package/schemas/sdd/plugin-runtime-invocation-plan.schema.json +954 -0
- package/schemas/sdd/plugin-skill-binding-resolution.schema.json +305 -0
- package/schemas/sdd/plugin-skill-binding.schema.json +88 -0
- package/schemas/sdd/plugin-validation-manifest.schema.json +123 -0
- package/schemas/sdd/quality-architecture-schema.schema.json +216 -0
- package/schemas/sdd/quality-evidence-bundle.schema.json +1337 -0
- package/schemas/sdd/quality-run.schema.json +197 -0
- package/schemas/sdd/quality-scenario.schema.json +252 -0
- package/schemas/sdd/sdk-agent-plugin-quality-gate-input.schema.json +168 -0
- package/schemas/sdd/sdk-agent-plugin-quality-gate-report.schema.json +160 -0
- package/schemas/sdd/workspace-catalog.schema.json +13232 -35
- package/schemas/spec-driven/schema.yaml +4 -4
- package/schemas/spec-driven/templates/proposal.md +1 -1
- package/dist/utils/openspec-compat.d.ts +0 -2
- 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
|
|
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,96 @@ 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
|
+
- Planos de plugin standalone validam `package_governance`, runtime de linguagem e fronteira de storage antes de qualquer adaptador tratar a operacao como executavel.
|
|
77
|
+
- O core agora possui uma casca Foundation-like incremental em `src/domains`, `src/applications`, `src/infrastructures`, `src/presentations` e `src/shared`; detalhes em `docs/codesdd-foundation-layer-migration.md`.
|
|
78
|
+
- Gates de qualidade para SDK/agentes/plugins agregam governanca de pacote, runtime de linguagem, artifact map, planos DeepAgents/Codex/OpenCode, compliance de plugin e cobertura por escopo em `src/core/sdd/sdk-agent-plugin-quality-gates.ts`.
|
|
79
|
+
- Nenhum runtime de agente pode virar fonte paralela de verdade para o estado operacional do projeto.
|
|
80
|
+
|
|
81
|
+
Pacote ADR obrigatorio da iniciativa:
|
|
82
|
+
|
|
83
|
+
1. Adocao oficial do runtime DeepAgents governado.
|
|
84
|
+
2. Fronteira control plane (CodeSDD) vs execution plane (DeepAgents).
|
|
85
|
+
3. Autoridade de filesystem/memoria e regra sem fonte paralela de estado.
|
|
86
|
+
4. Politica de sandbox e worktree isolada.
|
|
87
|
+
5. Politica HITL e mapeamento de `interrupt_on`.
|
|
88
|
+
6. Interoperabilidade com plugin broker.
|
|
89
|
+
7. Interoperabilidade MCP e exposicao de ferramentas.
|
|
90
|
+
8. Interoperabilidade Reversa e evidencia de engenharia reversa.
|
|
91
|
+
9. Politica de execucao autonoma por tiers de risco.
|
|
92
|
+
10. Politica de `.env`, segredos e fingerprint de configuracao.
|
|
93
|
+
11. Contratos de evidencia estruturada e retencao.
|
|
94
|
+
|
|
95
|
+
O ADR charter desta formalizacao esta em `.sdd/core/adrs/ADR-FEAT-0240.md`.
|
|
96
|
+
|
|
97
|
+
O runtime DeepAgents e opt-in. A configuracao segura permanece desligada por
|
|
98
|
+
padrao (`CODESDD_DEEPAGENTS_ENABLED=false` e
|
|
99
|
+
`CODESDD_DEEPAGENTS_RUNTIME=disabled`), com modo `fake` para testes
|
|
100
|
+
deterministicos sem credenciais e modo `deepagents-js` para a implementacao
|
|
101
|
+
nativa Node/TypeScript carregada sob politica, HITL e contrato de modelo.
|
|
102
|
+
O pacote npm `deepagents` e carregado de forma dinamica, apenas quando esse
|
|
103
|
+
modo real passa nos checks de prontidao.
|
|
104
|
+
A fronteira Node/TypeScript passa pela factory
|
|
105
|
+
`src/core/sdd/deepagents/runtime-factory.ts`, que entrega adapters separados
|
|
106
|
+
para `disabled`, `fake` e `deepagents-js` sem transformar DeepAgents em fonte
|
|
107
|
+
canonica de estado.
|
|
108
|
+
As tools CodeSDD para DeepAgents sao uma projecao governada do registro MCP em
|
|
109
|
+
`src/core/sdd/deepagents/codesdd-tools.ts`, e o enforcement de env, rede, HITL e
|
|
110
|
+
writes planejados passa por `src/core/sdd/deepagents/policy-enforcement.ts`
|
|
111
|
+
antes de qualquer instanciacao real.
|
|
112
|
+
As saidas do runtime sao normalizadas por
|
|
113
|
+
`src/core/sdd/deepagents/evidence-mapper.ts` para os contratos
|
|
114
|
+
`deepagent-run-*`, `deepagent-tool-call-*`, `deepagent-subagent-*`,
|
|
115
|
+
`deepagent-decision-*` e `deepagent-quality-*`.
|
|
116
|
+
O comando `codesdd sdd agent run <FEAT-ID> --provider deepagents` ja consome
|
|
117
|
+
essa fronteira TypeScript: no modo `disabled`, ele registra evidencia de runtime
|
|
118
|
+
bloqueado sem instanciar agente; no modo `fake`, executa o adapter
|
|
119
|
+
deterministico sem credenciais; e no modo `deepagents-js`, so materializa o
|
|
120
|
+
adapter nativo quando os feature toggles, modelo, credencial de launcher e
|
|
121
|
+
politicas passam. Falhas de prontidao viram evidencia estruturada fail-closed.
|
|
122
|
+
Para validar uma mudanca antes de invocar runtime, use
|
|
123
|
+
`codesdd sdd preflight <FEAT-ID> --intent-operation <op> --write-scope <glob> --planned-writes <path> --json`.
|
|
124
|
+
Esse comando executa os mesmos guardrails de mutacao com `runtime_skipped: true`
|
|
125
|
+
e emite telemetria segura em `evidence.guardrail_telemetry`, contendo apenas
|
|
126
|
+
decisao, status por gate, nivel de risco e classificacoes agregadas, sem paths
|
|
127
|
+
brutos, texto de objetivo ou valores de override. Os cenarios golden de
|
|
128
|
+
EPIC-0078 cobrem catalogo aditivo permitido, substituicao bloqueada, override
|
|
129
|
+
valido, override invalido e refactor amplo legitimo.
|
|
130
|
+
O smoke operacional padrao esta em `pnpm run test:deepagents-smoke`, cobrindo
|
|
131
|
+
`disabled` e `fake` sem segredos nem rede; o smoke real de provedor so roda com
|
|
132
|
+
`CODESDD_DEEPAGENTS_PROVIDER_SMOKE=1`, modelo, chave de launcher e dominio de
|
|
133
|
+
rede explicitamente liberado.
|
|
134
|
+
Para diagnostico local, `codesdd config doctor --json` executa preflight
|
|
135
|
+
operacional e reporta status `disabled|ready|blocked` para runtime/provider,
|
|
136
|
+
modelo, variaveis obrigatorias, endpoint e politica de rede sem imprimir
|
|
137
|
+
credenciais.
|
|
138
|
+
Modelos hospedados na Azure e endpoints OpenAI-compatible usam provider
|
|
139
|
+
profiles governados (`azure-openai:`, `azure-ai:`, `openai-compatible:`,
|
|
140
|
+
`xai:`/`grok:`, `moonshot:`/`kimi:` e `cohere:`/`coyers:`). Credenciais e
|
|
141
|
+
endpoints podem vir de variaveis nomeadas por
|
|
142
|
+
`CODESDD_DEEPAGENTS_CREDENTIAL_ENV` e `CODESDD_DEEPAGENTS_ENDPOINT_ENV`; o
|
|
143
|
+
CodeSDD registra apenas nomes, presenca e fingerprints, nunca valores de
|
|
144
|
+
segredo.
|
|
145
|
+
Saidas de diagnostico/configuracao tambem aplicam redaction por chave sensivel
|
|
146
|
+
(`*key*`, `*secret*`, `*token*`, `*password*`, `*credential*`, `*private*`,
|
|
147
|
+
`*auth*`) para evitar leakage acidental em stdout, JSON e contratos de
|
|
148
|
+
evidencia.
|
|
149
|
+
Para Azure OpenAI, aliases de deployment divergentes (`AZURE_OPENAI_DEPLOYMENT`
|
|
150
|
+
vs `AZURE_OPENAI_DEPLOYMENT_NAME`) entram em fail-fast e bloqueiam o runtime;
|
|
151
|
+
a precedencia valida usa `AZURE_OPENAI_DEPLOYMENT_NAME`, depois
|
|
152
|
+
`AZURE_OPENAI_DEPLOYMENT`, depois `AZURE_OPENAI_API_DEPLOYMENT_NAME`.
|
|
153
|
+
|
|
45
154
|
## Coordenacao opcional com Redis
|
|
46
155
|
|
|
47
156
|
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
157
|
|
|
49
|
-
Por padrao, CodeSDD usa locks em filesystem
|
|
158
|
+
Por padrao, CodeSDD usa locks em filesystem, cache L1 em memoria e cache L2 em `~/.codesdd/cache/projects/<fingerprint>/coordination`. Quando Redis esta configurado e responde a ping, o runtime usa o cliente oficial `redis` para operar em modo `hybrid`: L1 em memoria, Redis como acelerador/coordenador distribuido e filesystem como fallback descartavel.
|
|
50
159
|
|
|
51
160
|
Variaveis reconhecidas:
|
|
52
161
|
|
|
@@ -54,14 +163,47 @@ Variaveis reconhecidas:
|
|
|
54
163
|
- `REDIS_URL`: fallback quando `CODESDD_REDIS_URL` nao estiver definida.
|
|
55
164
|
- `CODESDD_REDIS_ENABLED=true`: marca Redis como solicitado mesmo sem URL.
|
|
56
165
|
- `CODESDD_REDIS_NAMESPACE`: namespace logico; padrao `codesdd`.
|
|
166
|
+
- `CODESDD_REDIS_TLS=true`: ativa TLS quando a URL nao usar `rediss://`.
|
|
167
|
+
- `CODESDD_REDIS_FALLBACK=filesystem|none`: controla degradacao quando Redis falha.
|
|
168
|
+
- `CODESDD_REDIS_CONNECT_TIMEOUT_MS`, `CODESDD_REDIS_COMMAND_TIMEOUT_MS`, `CODESDD_REDIS_MAX_RETRIES`, `CODESDD_REDIS_CACHE_TTL_MS`, `CODESDD_REDIS_LOCK_TTL_MS`.
|
|
169
|
+
|
|
170
|
+
Exemplo seguro em `~/.codesdd/config.toml`:
|
|
171
|
+
|
|
172
|
+
```toml
|
|
173
|
+
[redis]
|
|
174
|
+
enabled = true
|
|
175
|
+
url_env = "CODESDD_REDIS_URL"
|
|
176
|
+
namespace = "codesdd"
|
|
177
|
+
fallback = "filesystem"
|
|
178
|
+
connect_timeout_ms = 500
|
|
179
|
+
command_timeout_ms = 1000
|
|
180
|
+
max_retries = 2
|
|
181
|
+
cache_default_ttl_ms = 300000
|
|
182
|
+
lock_ttl_ms = 30000
|
|
183
|
+
stream_max_len = 10000
|
|
184
|
+
```
|
|
57
185
|
|
|
58
|
-
|
|
186
|
+
Mantenha a URL real no shell, password manager ou secret store do CI:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
export CODESDD_REDIS_URL="redis://localhost:6379"
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
`codesdd config doctor --json` e `codesdd config redis status --json` reportam `disabled`, `requested-unavailable`, `ready`, `degraded` ou `blocked` sem imprimir usuario, senha ou token da URL. Operacoes adicionais:
|
|
193
|
+
|
|
194
|
+
- `codesdd config redis ping`
|
|
195
|
+
- `codesdd config redis bench --iterations 20`
|
|
196
|
+
- `codesdd config redis flush-namespace --yes`
|
|
197
|
+
|
|
198
|
+
Redis nunca deve armazenar estado canonico do projeto, chaves de API, tokens, senhas, respostas cruas de providers ou dados pessoais. Use `docs/redis-operations.md` para o runbook completo.
|
|
59
199
|
|
|
60
200
|
## Contrato de nomenclatura
|
|
61
201
|
|
|
62
|
-
O contrato canonico de identidade do produto vive em `.sdd/state/naming-contract.yaml
|
|
63
|
-
|
|
64
|
-
|
|
202
|
+
O contrato canonico de identidade do produto vive em `.sdd/state/naming-contract.yaml`
|
|
203
|
+
quando persistido no projeto; se o arquivo ainda nao existir, a CLI usa o
|
|
204
|
+
contrato padrao de CodeSDD definido em `src/core/sdd/state.ts`. Ele declara a
|
|
205
|
+
identidade atual, a identidade alvo, as regras de rename por fase e o gate de
|
|
206
|
+
residuo zero usado por `codesdd sdd scan-naming`.
|
|
65
207
|
|
|
66
208
|
Durante a migracao para CodeSDD, esse contrato permite manter uma janela de
|
|
67
209
|
compatibilidade rastreavel sem perder o objetivo final: remover termos legados
|
|
@@ -92,18 +234,18 @@ Depois do bootstrap, o projeto passa a ter:
|
|
|
92
234
|
- `.sdd/planning/`
|
|
93
235
|
- `.sdd/active/`
|
|
94
236
|
- `.sdd/archived/`
|
|
95
|
-
- `.sdd/templates/`
|
|
237
|
+
- `.sdd/templates/` (YAML workspace templates)
|
|
96
238
|
- `.sdd/skills/curated/`
|
|
97
239
|
- `.sdd/sources/`
|
|
98
240
|
- `.sdd/prompts/`
|
|
99
241
|
|
|
100
|
-
Projetos CodeSDD-native nao devem criar `
|
|
101
|
-
Quando um projeto legado ainda tiver `
|
|
102
|
-
`.sdd/sources/legacy/spec-corpus` com `codesdd sdd import-
|
|
242
|
+
Projetos CodeSDD-native nao devem criar `legacy-spec/` como estrutura operacional.
|
|
243
|
+
Quando um projeto legado ainda tiver `legacy-spec/`, importe o corpus para
|
|
244
|
+
`.sdd/sources/legacy/spec-corpus` com `codesdd sdd import-legacy-spec` antes de
|
|
103
245
|
remover a pasta antiga. O acesso de compatibilidade a esse corpus deve passar
|
|
104
246
|
pelo servico CodeSDD de legacy capability em
|
|
105
247
|
`src/core/sdd/services/legacy-capability.service.ts`; utilitarios antigos, como
|
|
106
|
-
`src/utils/
|
|
248
|
+
`src/utils/legacy-spec-compat.ts`, existem apenas como shim.
|
|
107
249
|
|
|
108
250
|
Dentro de `.sdd/` ficam:
|
|
109
251
|
|
|
@@ -127,8 +269,7 @@ A instalacao global oficial e feita via npm:
|
|
|
127
269
|
npm install -g @devtrack-solution/codesdd
|
|
128
270
|
```
|
|
129
271
|
|
|
130
|
-
O binario
|
|
131
|
-
compatibilidade, `codesdd` continua publicado como shim. Depois de instalar,
|
|
272
|
+
O binario principal publicado pelo pacote e `codesdd`. Depois de instalar,
|
|
132
273
|
confira:
|
|
133
274
|
|
|
134
275
|
```bash
|
|
@@ -137,6 +278,39 @@ codesdd --version
|
|
|
137
278
|
|
|
138
279
|
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
280
|
|
|
281
|
+
### Configuracao global do CodeSDD
|
|
282
|
+
|
|
283
|
+
- Caminho canonico: `~/.codesdd/config.toml`
|
|
284
|
+
- Compatibilidade de leitura: `~/.config/codesdd/config.json` (somente fallback)
|
|
285
|
+
- O comando `codesdd config path` sempre exibe o caminho canonico atual.
|
|
286
|
+
- Cache global: `~/.codesdd/cache` com tiers logicos `providers`, `projects`, `schemas`, `deepagents` e `plugins`.
|
|
287
|
+
- O tier `projects` usa fingerprint por raiz de projeto para evitar colisao de cache entre repositorios.
|
|
288
|
+
- `codesdd config init` cria/normaliza `~/.codesdd/config.toml`, `~/.codesdd/cache/**` e `~/.codesdd/env.zsh` com conteudo nao secreto.
|
|
289
|
+
- Em shell Zsh, `codesdd config init` garante um bloco idempotente no `~/.zshrc` para `source ~/.codesdd/env.zsh`.
|
|
290
|
+
- A fronteira funcional e validavel: estado versionado do projeto fica em `.sdd`; config/runtime/cache comum fica em `~/.codesdd`; `.codesdd` dentro do repositorio e invalido para novo estado.
|
|
291
|
+
- `codesdd config doctor --json` expoe `storage_boundary` com `project_state_dir`, `global_runtime_dir`, `global_cache_dir`, tiers de cache e regras de separacao.
|
|
292
|
+
- `codesdd sdd plugin plan --project-root <path>` reutiliza essa fronteira para bloquear writes de plugin em `.codesdd` local e expor `workcell_runner.standalone.storage_boundary`.
|
|
293
|
+
- O perfil gerado por `codesdd config init` e fail-closed: DeepAgents fica
|
|
294
|
+
desabilitado, runtime `disabled`, provider smoke `0` e rede `disabled` ate
|
|
295
|
+
que um operador habilite explicitamente um provedor live.
|
|
296
|
+
|
|
297
|
+
Fluxo seguro recomendado:
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
codesdd config init
|
|
301
|
+
codesdd config path
|
|
302
|
+
codesdd config list
|
|
303
|
+
codesdd config doctor --json
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
Para validar o modo deterministico sem credenciais:
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
CODESDD_DEEPAGENTS_ENABLED=true \
|
|
310
|
+
CODESDD_DEEPAGENTS_RUNTIME=fake \
|
|
311
|
+
codesdd config doctor --json
|
|
312
|
+
```
|
|
313
|
+
|
|
140
314
|
### Windows PowerShell
|
|
141
315
|
|
|
142
316
|
```powershell
|
|
@@ -148,13 +322,6 @@ Add-Content $PROFILE "`nfunction codesdd { & '$target' @args }"
|
|
|
148
322
|
codesdd --version
|
|
149
323
|
```
|
|
150
324
|
|
|
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
325
|
### Linux
|
|
159
326
|
|
|
160
327
|
Para Bash:
|
|
@@ -175,14 +342,6 @@ printf "\nalias codesdd='%s'\n" "$(npm prefix -g)/bin/codesdd" >> ~/.zshrc
|
|
|
175
342
|
codesdd --version
|
|
176
343
|
```
|
|
177
344
|
|
|
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
345
|
### macOS / MacBook
|
|
187
346
|
|
|
188
347
|
O shell padrao atual do macOS e Zsh:
|
|
@@ -194,12 +353,6 @@ printf "\nalias codesdd='%s'\n" "$(npm prefix -g)/bin/codesdd" >> ~/.zshrc
|
|
|
194
353
|
codesdd --version
|
|
195
354
|
```
|
|
196
355
|
|
|
197
|
-
Alias legado opcional para comandos antigos:
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
printf "\nalias openspec='codesdd'\n" >> ~/.zshrc
|
|
201
|
-
```
|
|
202
|
-
|
|
203
356
|
Se voce estiver desenvolvendo este fork localmente:
|
|
204
357
|
|
|
205
358
|
```bash
|
|
@@ -213,10 +366,24 @@ Atalhos uteis de manutencao local:
|
|
|
213
366
|
```bash
|
|
214
367
|
pnpm run cleanup
|
|
215
368
|
pnpm run cleanup:install
|
|
369
|
+
pnpm run quality:review
|
|
216
370
|
```
|
|
217
371
|
|
|
218
372
|
- `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
373
|
- `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.
|
|
374
|
+
- `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.
|
|
375
|
+
|
|
376
|
+
Antes de release, gere o resumo nao mutante de prontidao:
|
|
377
|
+
|
|
378
|
+
```bash
|
|
379
|
+
codesdd sdd release-readiness --strict
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
O comando verifica saude SDD, FEATs ativos, scripts de CI parity, metadata do
|
|
383
|
+
pacote, fronteira de `.npmrc`, allowlist de publicacao, varredura de segredos
|
|
384
|
+
de alta confianca, proveniencia/SBOM, smoke de instalacao via tarball com
|
|
385
|
+
bootstrap da CLI, plano de rollback com `npm deprecate`, schemas essenciais e
|
|
386
|
+
docs de release/seguranca.
|
|
220
387
|
|
|
221
388
|
## Como iniciar em um projeto novo
|
|
222
389
|
|
|
@@ -274,7 +441,7 @@ Atalhos em portugues no CLI:
|
|
|
274
441
|
Se o projeto ja esta em andamento, o primeiro passo depois do `install` e inicializar o contexto:
|
|
275
442
|
|
|
276
443
|
```bash
|
|
277
|
-
codesdd sdd init-context
|
|
444
|
+
codesdd sdd init-context --frontend --lang en-US --layout en-US
|
|
278
445
|
codesdd sdd check --render
|
|
279
446
|
codesdd sdd onboard system
|
|
280
447
|
```
|
|
@@ -288,6 +455,13 @@ O `init-context` serve para:
|
|
|
288
455
|
|
|
289
456
|
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
457
|
|
|
458
|
+
Para reconfigurar um projeto ja inicializado com os artefatos, templates, skills
|
|
459
|
+
e views da versao instalada do CLI, use:
|
|
460
|
+
|
|
461
|
+
```bash
|
|
462
|
+
codesdd reload --tools none --lang en-US --layout en-US
|
|
463
|
+
```
|
|
464
|
+
|
|
291
465
|
## Como usar no dia a dia
|
|
292
466
|
|
|
293
467
|
Fluxo principal:
|
|
@@ -328,16 +502,16 @@ contadores e pode ser executado em `--dry-run` antes de gravar.
|
|
|
328
502
|
Para absorver o corpus legado de especificacoes antes da remocao da pasta formal:
|
|
329
503
|
|
|
330
504
|
```bash
|
|
331
|
-
codesdd sdd import-
|
|
332
|
-
codesdd sdd import-
|
|
333
|
-
codesdd sdd import-
|
|
505
|
+
codesdd sdd import-legacy-spec --dry-run
|
|
506
|
+
codesdd sdd import-legacy-spec
|
|
507
|
+
codesdd sdd import-legacy-spec --remove --yes
|
|
334
508
|
```
|
|
335
509
|
|
|
336
|
-
O `import-
|
|
510
|
+
O `import-legacy-spec` copia todos os arquivos de `legacy-spec/` para
|
|
337
511
|
`.sdd/sources/legacy/spec-corpus`, calcula SHA-256 e tamanho de cada fonte,
|
|
338
512
|
registra cada item em `.sdd/state/source-index.yaml` e grava um relatorio em
|
|
339
|
-
`.sdd/sources/legacy/spec-corpus/
|
|
340
|
-
so e aceita junto de `--yes` e remove `
|
|
513
|
+
`.sdd/sources/legacy/spec-corpus/_legacy-spec-import-report.yaml`. A opcao `--remove`
|
|
514
|
+
so e aceita junto de `--yes` e remove `legacy-spec/` apenas depois de concluir a
|
|
341
515
|
copia e a verificacao de checksum.
|
|
342
516
|
|
|
343
517
|
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.
|
|
@@ -348,6 +522,19 @@ If there is no ready FEAT, onboarding now returns guided steps such as creating
|
|
|
348
522
|
codesdd sdd next
|
|
349
523
|
```
|
|
350
524
|
|
|
525
|
+
Para operar o plano sem adivinhar, use:
|
|
526
|
+
|
|
527
|
+
```bash
|
|
528
|
+
codesdd sdd plan-status
|
|
529
|
+
codesdd sdd execute-next --dry-run
|
|
530
|
+
codesdd sdd execute-next
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
`plan-status` mostra FEATs ativas, a proxima lista ranqueada e a acao
|
|
534
|
+
recomendada. `execute-next` usa o mesmo ranking de `next` e chama `sdd start`
|
|
535
|
+
para a primeira FEAT pronta; use `--dry-run` para auditar a escolha sem mudar
|
|
536
|
+
estado.
|
|
537
|
+
|
|
351
538
|
Auditar a saude de evolucao do proprio processo SDD (ciclo recomendado: semestral):
|
|
352
539
|
|
|
353
540
|
```bash
|
|
@@ -448,19 +635,112 @@ workspace ativa.
|
|
|
448
635
|
codesdd sdd context FEAT-0001
|
|
449
636
|
```
|
|
450
637
|
|
|
451
|
-
|
|
638
|
+
Para reduzir consumo de contexto, `sdd context` aceita modos de budget:
|
|
639
|
+
`--budget compact`, `--budget standard` e `--budget full` (`--compact` e
|
|
640
|
+
`--full` sao atalhos). O modo `compact` preserva os campos principais e reduz
|
|
641
|
+
listas grandes como `read_order`, `core_docs`, contratos, servicos e
|
|
642
|
+
predecessores; a resposta inclui `context_budget` com estimativa de caracteres
|
|
643
|
+
e campos truncados. Antes de truncar, listas conhecidas passam por dedupe
|
|
644
|
+
deterministico, preservando a primeira ocorrencia e registrando a reducao em
|
|
645
|
+
`context_budget.deduped_fields`.
|
|
646
|
+
|
|
647
|
+
Quando o budget omite itens, a resposta tambem inclui
|
|
648
|
+
`progressive_disclosure`, com contagem por campo e um `reveal_command` para
|
|
649
|
+
reemitir o contexto completo (`codesdd sdd context <REF> --full --json`). Isso
|
|
650
|
+
permite usar o pacote compacto como plano inicial sem perder a trilha de como
|
|
651
|
+
expandir detalhes sob demanda.
|
|
652
|
+
|
|
653
|
+
O pacote budgetado tambem usa cache descartavel em
|
|
654
|
+
`~/.codesdd/cache/projects/<project-fingerprint>/context-summary`, isolado pelo
|
|
655
|
+
fingerprint do projeto e por um fingerprint dos arquivos `.sdd/state` e da
|
|
656
|
+
workspace da entidade. A resposta inclui `context_cache` com `hit`, `key`,
|
|
657
|
+
`project_fingerprint` e `source_fingerprint`; quando a fonte muda, a chave muda
|
|
658
|
+
e o pacote e recalculado.
|
|
659
|
+
|
|
660
|
+
Quando a tarefa depende de economia de contexto, registre a medicao em
|
|
661
|
+
`5-quality.yaml` usando `token_budget_gates.telemetry`. O gate aceita
|
|
662
|
+
`budget_chars`, `actual_chars`, `efficiency_percent`, `gate` e `evidence_ref`;
|
|
663
|
+
o Q95 usa a pior eficiencia estruturada e trata `gate: fail` ou eficiencia
|
|
664
|
+
abaixo de `fail_below_percent` como bloqueio de qualidade.
|
|
665
|
+
|
|
666
|
+
Para estabilizar validacoes longas, `5-quality.yaml` tambem aceita
|
|
667
|
+
`runtime_quality_gates`. Use `performance[]` para registrar duracao, p95,
|
|
668
|
+
memoria ou CPU com `threshold`, `actual` e `gate`; use `flakiness[]` para
|
|
669
|
+
registrar `attempts`, `failures` ou `failure_rate_percent`. Quando houver
|
|
670
|
+
telemetria, o Q95 incorpora o pior sinal de performance/flakiness no eixo de
|
|
671
|
+
integridade; sem telemetria, o score permanece neutro para manter compatibilidade
|
|
672
|
+
com workspaces antigos.
|
|
673
|
+
|
|
674
|
+
4.1 Expor a fundacao MCP para agentes externos
|
|
675
|
+
|
|
676
|
+
No repositorio local, use o entrypoint versionado do checkout atual para validar
|
|
677
|
+
o contrato antes de empacotar ou publicar:
|
|
678
|
+
|
|
679
|
+
```bash
|
|
680
|
+
node bin/codesdd.js --no-telemetry sdd mcp-manifest --provider codex --json
|
|
681
|
+
node bin/codesdd.js --no-telemetry sdd mcp-call codesdd.next --provider claude-code --json
|
|
682
|
+
node bin/codesdd.js --no-telemetry sdd mcp-call codesdd.context --provider open-code --ref FEAT-0001 --json
|
|
683
|
+
node bin/codesdd.js --no-telemetry sdd mcp-call codesdd.finalize --provider kimmy-code --ref FEAT-0001 --json
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
Depois da instalacao, os mesmos contratos ficam disponiveis pelo binario
|
|
687
|
+
publico:
|
|
688
|
+
|
|
689
|
+
```bash
|
|
690
|
+
codesdd sdd mcp-manifest --provider codex --json
|
|
691
|
+
codesdd sdd mcp-call codesdd.context --provider codex --ref FEAT-0001 --json
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
### Codex Live seguro
|
|
695
|
+
|
|
696
|
+
Para Codex, os prompts sao gerados no home global do cliente
|
|
697
|
+
(`$CODEX_HOME/prompts` ou `~/.codex/prompts`) e nao viram fonte operacional do
|
|
698
|
+
projeto. O estado canonico continua em `.sdd/state/*.yaml`.
|
|
699
|
+
|
|
700
|
+
Exemplo de configuracao local sem provedor live:
|
|
452
701
|
|
|
453
702
|
```bash
|
|
703
|
+
codesdd install --tools codex
|
|
704
|
+
codesdd config init
|
|
454
705
|
codesdd sdd mcp-manifest --provider codex --json
|
|
455
|
-
codesdd sdd mcp-call codesdd.next --provider
|
|
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
|
|
706
|
+
codesdd sdd mcp-call codesdd.next --provider codex --json
|
|
458
707
|
```
|
|
459
708
|
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
709
|
+
Exemplo de smoke live OpenAI, com credencial somente no launcher:
|
|
710
|
+
|
|
711
|
+
```bash
|
|
712
|
+
export CODESDD_DEEPAGENTS_PROVIDER_SMOKE=1
|
|
713
|
+
export CODESDD_AGENT_PROVIDER=deepagents
|
|
714
|
+
export CODESDD_DEEPAGENTS_ENABLED=true
|
|
715
|
+
export CODESDD_DEEPAGENTS_RUNTIME=deepagents-js
|
|
716
|
+
export CODESDD_DEEPAGENTS_MODEL=openai:gpt-4o-mini
|
|
717
|
+
export CODESDD_AGENT_NETWORK_POLICY=restricted
|
|
718
|
+
export CODESDD_AGENT_ALLOWED_DOMAINS=api.openai.com
|
|
719
|
+
export OPENAI_API_KEY="<secret-from-manager>"
|
|
720
|
+
codesdd config doctor --json
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
A fundacao MCP do CodeSDD e agnostica a provedor e publica o envelope
|
|
724
|
+
`codesdd-mcp-bridge/v1` para as ferramentas canonicas `codesdd.next`,
|
|
725
|
+
`codesdd.context`, `codesdd.query`, `codesdd.read` e os demais nomes
|
|
726
|
+
`codesdd.*` documentados pelo manifest.
|
|
727
|
+
|
|
728
|
+
Agent Runtime v2 exporta planos de comando para DeepAgents, Codex exec e
|
|
729
|
+
OpenCode run. Para OpenCode, o contrato
|
|
730
|
+
`agent-runtime-opencode-run-evidence.schema.json` registra execucao,
|
|
731
|
+
artefatos, validacoes e trechos redigidos sem permitir escrita direta em
|
|
732
|
+
estado SDD; o `finalize` do CodeSDD continua sendo o unico escritor canonico
|
|
733
|
+
do ciclo de vida.
|
|
734
|
+
|
|
735
|
+
Perfis aceitos por `--provider`: `codex`, `claude-code`, `kimmy-code`,
|
|
736
|
+
`kilo-code`, `open-code` e `generic`. Para OpenCode/Open Code, o bridge MCP usa
|
|
737
|
+
o identificador `open-code`; `opencode` aparece em contratos antigos de
|
|
738
|
+
agent-binding e nao e aceito por `sdd mcp-manifest` neste runtime.
|
|
739
|
+
|
|
740
|
+
Matriz de provedores: consulte
|
|
741
|
+
[docs/mcp-provider-compatibility.md](docs/mcp-provider-compatibility.md),
|
|
742
|
+
mantida por FEAT-0164/Worker 4, para a tabela de clientes, IDs MCP, aliases,
|
|
743
|
+
evidencias esperadas e a diferenca entre `open-code` e `opencode`.
|
|
464
744
|
|
|
465
745
|
5. Implementar
|
|
466
746
|
|
|
@@ -474,6 +754,16 @@ Se você já estiver dentro de `.sdd/active/FEAT-####/`, o `finalize` também po
|
|
|
474
754
|
inferir a FEAT alvo sem `--ref`, priorizando o workspace ativo atual antes de
|
|
475
755
|
cair para a fila pendente padrão.
|
|
476
756
|
|
|
757
|
+
Após consolidar uma FEAT, o resultado de `sdd finalize` inclui
|
|
758
|
+
`post_finalize_replan` com as próximas FEATs prontas, ondas e contagens de
|
|
759
|
+
bloqueios/conflitos recalculadas a partir do estado canônico. Em saída texto, o
|
|
760
|
+
CLI mostra as primeiras próximas FEATs para orientar execução encadeada.
|
|
761
|
+
|
|
762
|
+
`.sdd/state/finalize-queue.yaml` separa fila ativa de historico: `items` guarda
|
|
763
|
+
somente finalizacoes `PENDING`, enquanto `history` guarda finalizacoes `DONE`.
|
|
764
|
+
O `check` reporta pendentes e concluidas separadamente, e a view
|
|
765
|
+
`.sdd/planning/finalize-queue.md` mostra a fila ativa mais o historico recente.
|
|
766
|
+
|
|
477
767
|
Quando `requires_adr: true` ou o `2-plan.yaml` ativo declara impacto
|
|
478
768
|
arquitetural sensivel, o `finalize` exige ADR existente e válido pela lente `adr`
|
|
479
769
|
(seções `Contexto`, `Decisão`, `Consequências` e sem frase proibida de
|
|
@@ -490,6 +780,24 @@ contrato operacional das skills: registre uma entrada em
|
|
|
490
780
|
Sem esse rastro, o fluxo fica bloqueado como qualquer outra evidência de
|
|
491
781
|
qualidade obrigatória.
|
|
492
782
|
|
|
783
|
+
O `2-plan.yaml` gerado inclui `governance`, que declara a fronteira canônica
|
|
784
|
+
`codesdd-canonical-sdd-state`, os artefatos de planejamento envolvidos, refs de
|
|
785
|
+
decisão, escritas de estado previstas, plano de rollback e gates de validação.
|
|
786
|
+
O schema aceita workspaces históricos sem esse bloco por compatibilidade, mas
|
|
787
|
+
novos planos devem manter esse contrato preenchido.
|
|
788
|
+
|
|
789
|
+
O mesmo `2-plan.yaml` também inclui `execution_plan`, que explicita se a FEAT
|
|
790
|
+
roda como `single-feature`, `parallel-wave` ou `chained-features`, sempre com
|
|
791
|
+
`state_boundary_ref: codesdd-canonical-sdd-state`. O plano lista comandos,
|
|
792
|
+
quais passos podem escrever estado, `allowed_state_writes`, escritas proibidas
|
|
793
|
+
como `.codesdd/**` e os artefatos de handoff esperados. Planos de automação
|
|
794
|
+
paralela exportados em `schemas/sdd/parallel-feat-automation-plan.schema.json`
|
|
795
|
+
carregam a mesma fronteira para que execução encadeada não crie estado oculto.
|
|
796
|
+
O scheduler encadeado consome FEATs com `blocked_by`, `status` e `lock_domains`,
|
|
797
|
+
trata predecessores `DONE` como âncoras já satisfeitas, divide ondas para evitar
|
|
798
|
+
locks concorrentes e reporta dependências não agendáveis no resultado exportado
|
|
799
|
+
em `schemas/sdd/parallel-feat-scheduler-result.schema.json`.
|
|
800
|
+
|
|
493
801
|
O `5-quality.yaml` agora também precisa fechar a rastreabilidade viva da
|
|
494
802
|
workspace: preencha `traceability.spec_anchor` com o `updated_at` atual do
|
|
495
803
|
`1-spec.yaml`, referencie a entrada correspondente do `4-changelog.yaml`, e
|
|
@@ -498,6 +806,11 @@ requisito -> `code_refs` -> `test_refs` -> `evidence_refs`. O `finalize`,
|
|
|
498
806
|
`check` e `diagnose` passam a bloquear ou sinalizar drift quando a spec muda e
|
|
499
807
|
esse vínculo não é revisitado.
|
|
500
808
|
|
|
809
|
+
O ledger `q95_ledger` limita todos os percentuais a `0..100`, exige pesos que
|
|
810
|
+
somam `100` e impede `status: pass` quando `score` fica abaixo de `threshold`.
|
|
811
|
+
Isso mantém o Q95 auditável antes de qualquer automação de release ou execução
|
|
812
|
+
encadeada consumir o resultado.
|
|
813
|
+
|
|
501
814
|
O `finalize` também executa validação pós-active de lifecycle: a FEAT não pode
|
|
502
815
|
ter cópia semântica em `.sdd/archive/<FEAT-ID>`, deve sair de `.sdd/active/` e
|
|
503
816
|
deve aparecer uma única vez em `.sdd/archived/<FEAT-ID>`. `sdd check` e
|
|
@@ -635,7 +948,9 @@ The SDD bootstrap installs local curation in:
|
|
|
635
948
|
.sdd/skills/curated/
|
|
636
949
|
```
|
|
637
950
|
|
|
638
|
-
The default curation currently includes
|
|
951
|
+
The default curation currently includes 79 skills across 11 bundles (canonical source: `.sdd/state/skill-catalog.yaml`).
|
|
952
|
+
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.
|
|
953
|
+
`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
954
|
|
|
640
955
|
Entre elas:
|
|
641
956
|
|
|
@@ -646,8 +961,22 @@ Entre elas:
|
|
|
646
961
|
- `planning-normalizer-sdd`
|
|
647
962
|
- `api-clean-flask-langgraph` (bundle `python-agentic-backend`)
|
|
648
963
|
- `devtrack-api` (bundle `architecture-backend`, canonical DevTrack/NestJS/TypeORM API architecture)
|
|
964
|
+
- `devtrack-angular` (bundle `frontend-product`, canonical DevTrack Angular Admin architecture)
|
|
965
|
+
- `devtrack-flutter` (bundle `frontend-product`, canonical DevTrack Flutter/Dart architecture)
|
|
966
|
+
|
|
967
|
+
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. Angular Admin/backoffice work that names admin pages, dashboards, CRUD, data grids, admin Formly, admin NGXS/state, official Angular framework patterns, permissions, reports, workflow, admin realtime, or admin chat uses `devtrack-angular`. Flutter/Dart work that names Flutter apps, widgets, routing, localization, responsive layout, JSON, HTTP, previews, widget tests, integration tests, go_router, ARB, or l10n uses `devtrack-flutter`. Explicit Python/Flask API work remains routed to `api-clean-flask-langgraph`.
|
|
968
|
+
|
|
969
|
+
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`.
|
|
970
|
+
|
|
971
|
+
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.
|
|
972
|
+
|
|
973
|
+
The executable `devtrack-angular` contract pack lives in `.sdd/skills/curated/devtrack-angular/references/contract-pack.yaml`. It defines portable agent adapters, `prototype`, `production-admin`, and `enterprise-admin` profiles, pages-first Angular Admin architecture rules, Formly/NGXS/realtime/admin gates, official Angular skills mapping, and evidence expectations for Angular Admin delivery.
|
|
649
974
|
|
|
650
|
-
|
|
975
|
+
The executable `devtrack-flutter` contract pack lives in `.sdd/skills/curated/devtrack-flutter/references/contract-pack.yaml`. It defines portable agent adapters, `prototype`, `production-flutter`, and `enterprise-flutter` profiles, layered Flutter architecture rules, routing/localization/layout/data/test gates, official Flutter skills mapping, and evidence expectations for Flutter/Dart delivery.
|
|
976
|
+
|
|
977
|
+
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.
|
|
978
|
+
|
|
979
|
+
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
980
|
|
|
652
981
|
Prompts recomendados tambem sao instalados em:
|
|
653
982
|
|
|
@@ -682,7 +1011,9 @@ Bootstrap:
|
|
|
682
1011
|
|
|
683
1012
|
- `codesdd install --tools none`
|
|
684
1013
|
- `codesdd install --tools all`
|
|
1014
|
+
- `codesdd reload --tools none`
|
|
685
1015
|
- `codesdd sdd init-context`
|
|
1016
|
+
- `codesdd sdd init-context --frontend --lang en-US --layout en-US`
|
|
686
1017
|
- `codesdd sdd check --render`
|
|
687
1018
|
- `codesdd sdd check --render --strict`
|
|
688
1019
|
- `codesdd sdd diagnose`
|
|
@@ -710,6 +1041,8 @@ Onboarding e operacao:
|
|
|
710
1041
|
- `codesdd sdd orientar system`
|
|
711
1042
|
- `codesdd sdd next`
|
|
712
1043
|
- `codesdd sdd next --max-agents <N>` (limita o tamanho da primeira onda e lista itens adiados)
|
|
1044
|
+
- `codesdd sdd plan-status`
|
|
1045
|
+
- `codesdd sdd execute-next --dry-run`
|
|
713
1046
|
- `codesdd sdd start FEAT-0001 --fluxo direto|padrao|rigoroso`
|
|
714
1047
|
- `codesdd sdd aprovar FEAT-0001 --etapa proposta|planejamento|tarefas`
|
|
715
1048
|
- `codesdd sdd context FEAT-0001`
|
|
@@ -769,7 +1102,8 @@ O comando global oficial deste fork e:
|
|
|
769
1102
|
codesdd
|
|
770
1103
|
```
|
|
771
1104
|
|
|
772
|
-
O caminho de distribuicao oficial deste repositorio e npm. Veja a secao
|
|
1105
|
+
O caminho de distribuicao oficial deste repositorio e npm. Veja a secao
|
|
1106
|
+
[Instalacao global](#instalacao-global) para instalar globalmente.
|
|
773
1107
|
|
|
774
1108
|
```bash
|
|
775
1109
|
npm install -g @devtrack-solution/codesdd
|
|
@@ -801,7 +1135,7 @@ O CLI possui telemetria anônima de uso com desenho privacy-first:
|
|
|
801
1135
|
|
|
802
1136
|
- sem captura de argumentos, conteúdo ou caminhos de arquivos;
|
|
803
1137
|
- desabilitada em CI;
|
|
804
|
-
- opt-out via `
|
|
1138
|
+
- opt-out via `CODESDD_TELEMETRY=0` ou `DO_NOT_TRACK=1`.
|
|
805
1139
|
- opt-out explícito por execução com `--no-telemetry`;
|
|
806
1140
|
- eventos de conclusão incluem `duration_ms` estruturado para observabilidade sem
|
|
807
1141
|
enviar argumentos ou conteúdo.
|
|
@@ -820,6 +1154,14 @@ Operational authority:
|
|
|
820
1154
|
- Human-readable operational views are derived from `.sdd/core/*.md` and `.sdd/planning/*.md`.
|
|
821
1155
|
- Do not use external context, memory, workflow, or backlog tools as a project source of truth.
|
|
822
1156
|
|
|
1157
|
+
Initial operational directives:
|
|
1158
|
+
- CodeSDD is the official planner for any build request; other planners or agent-native plans are secondary execution aids only.
|
|
1159
|
+
- In initialized CodeSDD repositories, any user request that implies implementation, file edits, validation, execution, or finalize must be treated as requiring CodeSDD planning unless the user explicitly marks it as read-only or outside CodeSDD.
|
|
1160
|
+
- For change requests, agents must bind the work to an active or ready FEAT through `codesdd sdd next` and `codesdd sdd context <FEAT-ID>` before implementation; agent-native plans may only decompose execution after that CodeSDD context exists.
|
|
1161
|
+
- 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`.
|
|
1162
|
+
- During init, onboard, insight, and debate flows, CodeSDD-managed agent instruction blocks must be inspected and reconfigured when they drift from this contract.
|
|
1163
|
+
- 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).
|
|
1164
|
+
|
|
823
1165
|
Read order for any new agent:
|
|
824
1166
|
1. `README.md` (this block)
|
|
825
1167
|
2. `.sdd/AGENT.md`
|
|
@@ -839,4 +1181,8 @@ Essential commands:
|
|
|
839
1181
|
- update `.sdd/active/<FEAT-ID>/5-quality.yaml`
|
|
840
1182
|
- `codesdd sdd frontend-impact <FEAT-ID> --status required|none --reason "..."`
|
|
841
1183
|
- `codesdd sdd finalize --ref <FEAT-ID>`
|
|
1184
|
+
- `codesdd sdd diagnose`
|
|
1185
|
+
- `codesdd sdd check --render`
|
|
1186
|
+
- confirm `DONE`, `current_stage: consolidacao`, `done_at`, `archived_at`, `.sdd/archived/<FEAT-ID>/`, and no `.sdd/active/<FEAT-ID>/`
|
|
1187
|
+
- triage remote security warnings such as Dependabot as a fix, exception, or follow-up SDD item
|
|
842
1188
|
<!-- SDD:ONBOARDING:END -->
|