sddflow 2.7.55__tar.gz → 2.7.58__tar.gz
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.
- {sddflow-2.7.55 → sddflow-2.7.58}/PKG-INFO +7 -2
- {sddflow-2.7.55 → sddflow-2.7.58}/README.md +6 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/pyproject.toml +1 -1
- sddflow-2.7.58/sdd/__init__.py +1 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/review.py +22 -2
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/upgrade.py +102 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/analyze.prompt.md +49 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/clarify.prompt.md +47 -0
- {sddflow-2.7.55/sdd/packs/sdd-universal → sddflow-2.7.58/sdd/packs/sdd-backend-service}/.github/prompts/validate.prompt.md +13 -0
- {sddflow-2.7.55/sdd/packs/sdd-frontend-spa → sddflow-2.7.58/sdd/packs/sdd-backend-service}/.specify/integrations.yml.example +36 -5
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/manifest.yml +1 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/clarify-template.md +2 -2
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/CLAUDE.md +10 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/HOW-TO-USE.md +37 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/PROMPT-GUIDE.md +13 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/analyze.prompt.md +49 -1
- {sddflow-2.7.55/sdd/packs/sdd-fullstack → sddflow-2.7.58/sdd/packs/sdd-frontend-spa}/.github/prompts/clarify.prompt.md +47 -0
- {sddflow-2.7.55/sdd/packs/sdd-mobile → sddflow-2.7.58/sdd/packs/sdd-frontend-spa}/.github/prompts/validate.prompt.md +13 -0
- {sddflow-2.7.55/sdd/packs/sdd-fullstack → sddflow-2.7.58/sdd/packs/sdd-frontend-spa}/.specify/integrations.yml.example +36 -5
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/manifest.yml +1 -1
- {sddflow-2.7.55/sdd/packs/sdd-fullstack → sddflow-2.7.58/sdd/packs/sdd-frontend-spa}/.specify/templates/clarify-template.md +2 -2
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/CLAUDE.md +10 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/HOW-TO-USE.md +37 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/PROMPT-GUIDE.md +13 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/analyze.prompt.md +49 -1
- {sddflow-2.7.55/sdd/packs/sdd-frontend-spa → sddflow-2.7.58/sdd/packs/sdd-fullstack}/.github/prompts/clarify.prompt.md +47 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/validate.prompt.md +13 -0
- {sddflow-2.7.55/sdd/packs/sdd-backend-service → sddflow-2.7.58/sdd/packs/sdd-fullstack}/.specify/integrations.yml.example +36 -5
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/manifest.yml +1 -1
- {sddflow-2.7.55/sdd/packs/sdd-mobile → sddflow-2.7.58/sdd/packs/sdd-fullstack}/.specify/templates/clarify-template.md +2 -2
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/CLAUDE.md +10 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/HOW-TO-USE.md +37 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/PROMPT-GUIDE.md +12 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/analyze.prompt.md +49 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/clarify.prompt.md +47 -0
- {sddflow-2.7.55/sdd/packs/sdd-frontend-spa → sddflow-2.7.58/sdd/packs/sdd-mobile}/.github/prompts/validate.prompt.md +13 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/integrations.yml.example +36 -5
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/manifest.yml +1 -1
- {sddflow-2.7.55/sdd/packs/sdd-frontend-spa → sddflow-2.7.58/sdd/packs/sdd-mobile}/.specify/templates/clarify-template.md +2 -2
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/CLAUDE.md +10 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/HOW-TO-USE.md +37 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/PROMPT-GUIDE.md +12 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/analyze.prompt.md +49 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/clarify.prompt.md +47 -0
- {sddflow-2.7.55/sdd/packs/sdd-backend-service → sddflow-2.7.58/sdd/packs/sdd-universal}/.github/prompts/validate.prompt.md +13 -0
- sddflow-2.7.58/sdd/packs/sdd-universal/.specify/integrations.yml.example +457 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/manifest.yml +1 -1
- sddflow-2.7.58/sdd/packs/sdd-universal/.specify/templates/clarify-template.md +94 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/CLAUDE.md +10 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/HOW-TO-USE.md +37 -1
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/PROMPT-GUIDE.md +12 -1
- sddflow-2.7.55/sdd/__init__.py +0 -1
- sddflow-2.7.55/sdd/packs/sdd-universal/.specify/integrations.yml.example +0 -426
- sddflow-2.7.55/sdd/packs/sdd-universal/.specify/templates/clarify-template.md +0 -94
- {sddflow-2.7.55 → sddflow-2.7.58}/.gitignore +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/__main__.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/__init__.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/config.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/confluence.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/cr.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/dashboard.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/init.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/jira.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/commands/pr.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/ava.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/change.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/implement.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/kai.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/leo.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/maya.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/release.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/rex.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/riley.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/specify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/start.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/task.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.claude/commands/validate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/instructions/api.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/instructions/domain.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/instructions/java.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/specify-brd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/specify-doc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.gitignore +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.gitlab-ci.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/data-model-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/k8s-manifest-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/openapi-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/release-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/security-design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.vscode/extensions.json +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.windsurfrules +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/CLAUDE.local.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/QUICKSTART.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/README.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/WHY-SDD.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/azure-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/setup.ps1 +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/setup.sh +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/ava.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/change.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/implement.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/kai.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/leo.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/maya.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/release.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/rex.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/riley.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/specify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/start.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/task.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.claude/commands/validate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/instructions/components.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/instructions/services.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-brd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-doc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.gitignore +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.gitlab-ci.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/component-library-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/component-spec-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/data-model-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/release-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/security-design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/ux-flow-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.vscode/extensions.json +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/.windsurfrules +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/CLAUDE.local.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/QUICKSTART.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/README.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/WHY-SDD.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/azure-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/setup.ps1 +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-frontend-spa/setup.sh +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/ava.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/change.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/implement.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/kai.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/leo.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/maya.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/release.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/rex.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/riley.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/specify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/start.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/task.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.claude/commands/validate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/instructions/backend-tests.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/instructions/components.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/instructions/domain.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/instructions/frontend-services.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/instructions/java.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/specify-brd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/specify-doc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.gitignore +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.gitlab-ci.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/component-library-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/component-spec-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/data-model-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/openapi-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/release-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/screen-spec-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/security-design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/ux-flow-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.vscode/extensions.json +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/.windsurfrules +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/CLAUDE.local.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/QUICKSTART.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/README.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/WHY-SDD.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/azure-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/setup.ps1 +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-fullstack/setup.sh +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.claude/commands/implement.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.claude/commands/specify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.claude/commands/start.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.claude/commands/task.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.specify/manifest.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/.windsurfrules +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/CLAUDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/QUICKSTART.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/README.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/WHY-SDD.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/setup.ps1 +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-micro/setup.sh +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/ava.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/change.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/implement.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/kai.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/leo.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/maya.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/release.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/rex.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/riley.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/specify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/start.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/task.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.claude/commands/validate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/instructions/screens.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/instructions/services.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/specify-brd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/specify-doc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.gitignore +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.gitlab-ci.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/data-model-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/release-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/screen-spec-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/security-design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/ux-flow-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.vscode/extensions.json +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/.windsurfrules +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/CLAUDE.local.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/QUICKSTART.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/README.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/WHY-SDD.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/azure-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/setup.ps1 +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-mobile/setup.sh +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/ava.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/change.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/implement.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/kai.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/leo.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/maya.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/release.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/rex.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/riley.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/specify.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/start.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/task.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.claude/commands/validate.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/instructions/domain.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/instructions/entrypoints.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/specify-brd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/specify-doc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.gitignore +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.gitlab-ci.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/data-model-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/k8s-manifest-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/openapi-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/release-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/security-design-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.vscode/extensions.json +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/.windsurfrules +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/CLAUDE.local.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/QUICKSTART.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/README.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/WHY-SDD.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/azure-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/setup.ps1 +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-universal/setup.sh +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/__init__.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/atlassian_auth.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/cf_to_md.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/confluence_client.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/dashboard_comments.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/detect.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/git_host.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/integrations.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/jira_client.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/manifest.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/md_to_cf.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/mermaid_render.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/scaffold.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/sdd_parser.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/status.py +0 -0
- {sddflow-2.7.55 → sddflow-2.7.58}/sdd/utils/validate.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sddflow
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.58
|
|
4
4
|
Summary: SDD Framework CLI — initialize and upgrade Spec-Driven Development packs
|
|
5
5
|
Project-URL: Homepage, https://github.com/sunil1983us/universalguide
|
|
6
6
|
Project-URL: Repository, https://github.com/sunil1983us/universalguide
|
|
@@ -447,7 +447,12 @@ History` row. A question asked in more than one document (the table's
|
|
|
447
447
|
`Locations` column lists more than one ID, e.g. `brd:NC-003, srd:NC-001`)
|
|
448
448
|
gets the same answer applied everywhere at once. Safe to call
|
|
449
449
|
unconditionally (e.g. at the top of every `/validate` run) — it exits
|
|
450
|
-
quietly whenever there's nothing to do.
|
|
450
|
+
quietly whenever there's nothing to do. If a document predates
|
|
451
|
+
`[NEEDS CLARIFICATION-NNN]` numbering and still has the old unnumbered
|
|
452
|
+
`[NEEDS CLARIFICATION: ...]` form, `pull-answers` retroactively numbers it
|
|
453
|
+
first, in order of appearance, before patching. Each patched document's
|
|
454
|
+
own Confluence page (when `confluence:` is configured) is also re-pushed
|
|
455
|
+
immediately, so it never goes stale relative to the answered `.md`.
|
|
451
456
|
|
|
452
457
|
---
|
|
453
458
|
|
|
@@ -412,7 +412,12 @@ History` row. A question asked in more than one document (the table's
|
|
|
412
412
|
`Locations` column lists more than one ID, e.g. `brd:NC-003, srd:NC-001`)
|
|
413
413
|
gets the same answer applied everywhere at once. Safe to call
|
|
414
414
|
unconditionally (e.g. at the top of every `/validate` run) — it exits
|
|
415
|
-
quietly whenever there's nothing to do.
|
|
415
|
+
quietly whenever there's nothing to do. If a document predates
|
|
416
|
+
`[NEEDS CLARIFICATION-NNN]` numbering and still has the old unnumbered
|
|
417
|
+
`[NEEDS CLARIFICATION: ...]` form, `pull-answers` retroactively numbers it
|
|
418
|
+
first, in order of appearance, before patching. Each patched document's
|
|
419
|
+
own Confluence page (when `confluence:` is configured) is also re-pushed
|
|
420
|
+
immediately, so it never goes stale relative to the answered `.md`.
|
|
416
421
|
|
|
417
422
|
---
|
|
418
423
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.7.58"
|
|
@@ -527,7 +527,7 @@ def review_command():
|
|
|
527
527
|
|
|
528
528
|
@review_command.command("submit")
|
|
529
529
|
@click.option("--doc", required=True,
|
|
530
|
-
help="Document key: brd, use-cases, srd, design (unified) / arch, hld, adr (separate), lld, tasks, runbook, release")
|
|
530
|
+
help="Document key: brd, use-cases, srd, design (unified) / arch, hld, adr (separate), validate, analyze, clarify, lld, tasks, runbook, release")
|
|
531
531
|
@click.option("--profile", default=None)
|
|
532
532
|
@click.option("--feature", default=None)
|
|
533
533
|
def review_submit(doc, profile, feature):
|
|
@@ -932,6 +932,7 @@ def review_pull_answers(doc, profile, feature):
|
|
|
932
932
|
raise SystemExit(0)
|
|
933
933
|
|
|
934
934
|
patched_docs: dict[str, int] = {}
|
|
935
|
+
patched_paths: dict[str, Path] = {}
|
|
935
936
|
for item in items:
|
|
936
937
|
# The reviewer only ever cites the row's primary ID (item["id"]) --
|
|
937
938
|
# that single answer must propagate to every location listed for
|
|
@@ -950,6 +951,7 @@ def review_pull_answers(doc, profile, feature):
|
|
|
950
951
|
continue
|
|
951
952
|
if _patch_marker(loc_path, nnn, answer_text):
|
|
952
953
|
patched_docs[doc_key] = patched_docs.get(doc_key, 0) + 1
|
|
954
|
+
patched_paths[doc_key] = loc_path
|
|
953
955
|
console.print(f" [green]✓[/green] {loc_id} resolved in {loc_path.name}")
|
|
954
956
|
|
|
955
957
|
if patched_docs:
|
|
@@ -960,6 +962,24 @@ def review_pull_answers(doc, profile, feature):
|
|
|
960
962
|
)
|
|
961
963
|
console.print()
|
|
962
964
|
|
|
965
|
+
# Re-push each patched doc's own Confluence page so it doesn't go
|
|
966
|
+
# stale relative to the .md file we just edited. Until now,
|
|
967
|
+
# pull-answers only ever wrote the local file -- BRD/SRD/UC's
|
|
968
|
+
# Confluence pages (created back at their own /specify-brd ->
|
|
969
|
+
# `sdd review submit` time) kept showing the pre-answer
|
|
970
|
+
# [NEEDS CLARIFICATION] markers even after every question was
|
|
971
|
+
# resolved here. Best-effort per doc: one page's failure doesn't
|
|
972
|
+
# block the others or the patching that already succeeded.
|
|
973
|
+
if cfg.confluence:
|
|
974
|
+
for doc_key, loc_path in patched_paths.items():
|
|
975
|
+
try:
|
|
976
|
+
title = _push_doc_page(doc_key, loc_path, feature_name)
|
|
977
|
+
if title:
|
|
978
|
+
console.print(f" [green]✓[/green] Confluence page refreshed: [cyan]{title}[/cyan]")
|
|
979
|
+
except Exception as e:
|
|
980
|
+
console.print(f" [yellow]! Could not refresh Confluence page for {doc_key}: {e}[/yellow]")
|
|
981
|
+
console.print()
|
|
982
|
+
|
|
963
983
|
|
|
964
984
|
# ── sdd review check ───────────────────────────────────────────────────────────
|
|
965
985
|
|
|
@@ -1095,7 +1115,7 @@ def review_comments(doc, feature, ack):
|
|
|
1095
1115
|
|
|
1096
1116
|
@review_command.command("approve")
|
|
1097
1117
|
@click.option("--doc", required=True,
|
|
1098
|
-
help="Document key: brd, use-cases, srd, design (unified) / arch, hld, adr (separate), lld, ...")
|
|
1118
|
+
help="Document key: brd, use-cases, srd, design (unified) / arch, hld, adr (separate), validate, analyze, clarify, lld, ...")
|
|
1099
1119
|
@click.option("--local", is_flag=True, required=True,
|
|
1100
1120
|
help="Write a local approval record (fallback when Jira is not configured)")
|
|
1101
1121
|
@click.option("--by", default="chat",
|
|
@@ -2204,6 +2204,108 @@ MIGRATIONS = [
|
|
|
2204
2204
|
],
|
|
2205
2205
|
"migrate": lambda m: {**m, "sdd_version": "2.7.55"},
|
|
2206
2206
|
},
|
|
2207
|
+
{
|
|
2208
|
+
"from": "2.7.55",
|
|
2209
|
+
"to": "2.7.56",
|
|
2210
|
+
"description": "Fix: sdd review pull-answers patched BRD/SRD/UC locally but never refreshed their existing Confluence pages, leaving them showing stale pre-answer [NEEDS CLARIFICATION] markers -- no manifest schema changes",
|
|
2211
|
+
"notes": [
|
|
2212
|
+
"User-reported: after /validate's push-questions/pull-answers "
|
|
2213
|
+
"round-trip resolved every open question, brd.md/srd.md/"
|
|
2214
|
+
"use-cases.md were updated on disk and their versions bumped, "
|
|
2215
|
+
"but their Confluence pages (created back at their own "
|
|
2216
|
+
"/specify-brd -> sdd review submit time) still showed the old "
|
|
2217
|
+
"unresolved markers -- only validate.md's own page was ever "
|
|
2218
|
+
"touched by push-questions/pull-answers",
|
|
2219
|
+
"review_pull_answers now tracks the on-disk path of every doc "
|
|
2220
|
+
"it successfully patches, and after the patch loop, re-pushes "
|
|
2221
|
+
"each one's Confluence page via the same _push_doc_page() "
|
|
2222
|
+
"helper sdd review approve already uses -- best-effort per "
|
|
2223
|
+
"doc, so one page's failure never blocks the others or the "
|
|
2224
|
+
"patching that already succeeded",
|
|
2225
|
+
"Only runs when confluence: is configured in integrations.yml; "
|
|
2226
|
+
"silently skipped otherwise, matching the rest of "
|
|
2227
|
+
"pull-answers' safe-to-call-unconditionally contract",
|
|
2228
|
+
"1 new test: push-questions -> answer -> pull-answers, "
|
|
2229
|
+
"confirming both patched docs' Confluence pages are created/"
|
|
2230
|
+
"updated with the expected page-map titles",
|
|
2231
|
+
"This migration only bumps sdd_version -- no manifest.yml "
|
|
2232
|
+
"field changes for any pack",
|
|
2233
|
+
],
|
|
2234
|
+
"migrate": lambda m: {**m, "sdd_version": "2.7.56"},
|
|
2235
|
+
},
|
|
2236
|
+
{
|
|
2237
|
+
"from": "2.7.56",
|
|
2238
|
+
"to": "2.7.57",
|
|
2239
|
+
"description": "Guardrail: validate.prompt.md Step C no longer lets a document-level approval auto-check per-item §1-§4 confirmation checkboxes -- no manifest schema changes",
|
|
2240
|
+
"notes": [
|
|
2241
|
+
"User-reported (from a live project's /analyze run): a prior "
|
|
2242
|
+
"agent session, chasing the analyze.prompt.md verify gate's "
|
|
2243
|
+
"literal 'VALIDATE complete' string, bulk-checked every "
|
|
2244
|
+
"unchecked box in validate.md's §1 (Reviewer Confirms), §2 "
|
|
2245
|
+
"(BA/PO Confirms), §3 (assumption Correct?), §3a (UC Business "
|
|
2246
|
+
"Scenario Correct?), and §4 (Scope Confirmation) -- inferring "
|
|
2247
|
+
"itemized per-line business sign-off purely from the "
|
|
2248
|
+
"document's overall Jira ticket having been closed after a "
|
|
2249
|
+
"Q&A comment thread, which is not the same as a named "
|
|
2250
|
+
"reviewer actually addressing that specific item",
|
|
2251
|
+
"validate.prompt.md's own Step C only ever specified updating "
|
|
2252
|
+
"the header (Status: Draft -> Approved) and the §5 Approvals "
|
|
2253
|
+
"table -- the agent's bulk-check of §1-§4 was not something "
|
|
2254
|
+
"the prompt told it to do; this migration tightens the "
|
|
2255
|
+
"wording to explicitly forbid it and to say what to do "
|
|
2256
|
+
"instead (leave unchecked with a note, or point to the "
|
|
2257
|
+
"specific reviewer statement that confirmed that exact item)",
|
|
2258
|
+
"This matters most for regulated/financial-transfer features "
|
|
2259
|
+
"where §1-§4's checkboxes are meant to be a traceable, "
|
|
2260
|
+
"defensible audit trail of actual line-item business review "
|
|
2261
|
+
"-- not a formality that gets rubber-stamped to satisfy a "
|
|
2262
|
+
"downstream gate's string match",
|
|
2263
|
+
"Applied identically to validate.prompt.md in all 5 packs "
|
|
2264
|
+
"(not a shared/blocks file -- each pack's copy edited "
|
|
2265
|
+
"individually, same wording)",
|
|
2266
|
+
"This migration only bumps sdd_version -- no manifest.yml "
|
|
2267
|
+
"field changes for any pack",
|
|
2268
|
+
],
|
|
2269
|
+
"migrate": lambda m: {**m, "sdd_version": "2.7.57"},
|
|
2270
|
+
},
|
|
2271
|
+
{
|
|
2272
|
+
"from": "2.7.57",
|
|
2273
|
+
"to": "2.7.58",
|
|
2274
|
+
"description": "Feature: analyze.md and clarify.md can now go through the same Jira/Confluence review-gate flow as brd/srd/etc (a new 'validate' phase) -- no manifest schema changes",
|
|
2275
|
+
"notes": [
|
|
2276
|
+
"User asked why /analyze and /clarify never got pushed to "
|
|
2277
|
+
"Confluence/Jira the way /validate does -- by design they "
|
|
2278
|
+
"were chat-only working documents, but nothing in "
|
|
2279
|
+
"resolve_doc_path/review_submit/review_approve actually "
|
|
2280
|
+
"required that; they're fully generic by doc key",
|
|
2281
|
+
"Added document_reviews.validate/.analyze/.clarify entries "
|
|
2282
|
+
"to integrations.yml.example (phase: validate, sequence "
|
|
2283
|
+
"1/2/3 -- validate before analyze before clarify, enforced "
|
|
2284
|
+
"by the same predecessor-sequence gate every other phase "
|
|
2285
|
+
"already uses), plus matching page_map entries",
|
|
2286
|
+
"analyze.prompt.md and clarify.prompt.md (all 5 packs) gained "
|
|
2287
|
+
"the same Stakeholder Review and Approval Step B/C section "
|
|
2288
|
+
"validate.prompt.md already has -- sdd review submit/check/"
|
|
2289
|
+
"approve, same approval-signal handling, same guardrail "
|
|
2290
|
+
"against inferring per-section findings as individually "
|
|
2291
|
+
"confirmed by a document-level approval",
|
|
2292
|
+
"Fixed clarify-template.md's header, which said "
|
|
2293
|
+
"'Status: OPEN' instead of 'Status: Draft' -- "
|
|
2294
|
+
"_mark_md_approved's regex only recognizes Draft/Proposed, "
|
|
2295
|
+
"so the approval flip would have silently never updated the "
|
|
2296
|
+
"header for clarify.md without this fix",
|
|
2297
|
+
"Each of validate/analyze/clarify is optional individually -- "
|
|
2298
|
+
"add only the ones you want routed through Jira/Confluence; "
|
|
2299
|
+
"the rest stay chat-only, per review-gates.md",
|
|
2300
|
+
"4 new tests: generic submit works for analyze/clarify doc "
|
|
2301
|
+
"keys, the validate-phase sequence gate blocks analyze until "
|
|
2302
|
+
"validate is approved, and the clarify.md header fix is "
|
|
2303
|
+
"confirmed to make the approval flow work end-to-end",
|
|
2304
|
+
"This migration only bumps sdd_version -- no manifest.yml "
|
|
2305
|
+
"field changes for any pack",
|
|
2306
|
+
],
|
|
2307
|
+
"migrate": lambda m: {**m, "sdd_version": "2.7.58"},
|
|
2308
|
+
},
|
|
2207
2309
|
]
|
|
2208
2310
|
|
|
2209
2311
|
|
{sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/analyze.prompt.md
RENAMED
|
@@ -79,6 +79,54 @@ CF-NNN IDs. Include in analyze.summary.md:
|
|
|
79
79
|
|
|
80
80
|
- Save to: .specify/features/{manifest.project.feature}/analyze.md
|
|
81
81
|
- Save summary to: analyze.summary.md (max SUMMARY_MAX_LINES)
|
|
82
|
+
- Present the report.
|
|
83
|
+
|
|
84
|
+
### Stakeholder Review and Approval
|
|
85
|
+
|
|
86
|
+
**Step B — Formal submission**
|
|
87
|
+
|
|
88
|
+
If `.specify/integrations.yml` has `document_reviews.analyze` configured:
|
|
89
|
+
```bash
|
|
90
|
+
sdd review submit --doc analyze
|
|
91
|
+
```
|
|
92
|
+
If the command succeeds, tell the user:
|
|
93
|
+
> "Analysis report submitted for Jira review. Reply **'approved'** (or 'yes', 'LGTM', 'looks good') once the Tech Lead approves."
|
|
94
|
+
|
|
95
|
+
If the CLI fails or is not configured, present the document and ask:
|
|
96
|
+
> "Analysis report generated. Review §1–§9 above and reply **'approved'** (or 'yes', 'LGTM', 'looks good') to continue, or provide feedback:"
|
|
97
|
+
|
|
98
|
+
**Step C — On approval (any path: Jira or chat)**
|
|
99
|
+
|
|
100
|
+
When the user replies with any approval signal — **'approved'**, **'approve'**, **'yes'**, **'LGTM'**, **'looks good'**, **'go ahead'**, **'confirmed'**, or any similar affirmative (case-insensitive):
|
|
101
|
+
1. Run `sdd review check --doc analyze` to verify:
|
|
102
|
+
- Exit 0 → confirmed. Proceed.
|
|
103
|
+
- Non-0 and CLI is configured → warn: "Jira shows not yet approved. Confirm you want to proceed? (yes/no)" — wait for response.
|
|
104
|
+
- CLI not available → skip check and proceed.
|
|
105
|
+
2. Update `analyze.md`:
|
|
106
|
+
- Header: `Status: Draft` → `Status: Approved`, date → today.
|
|
107
|
+
- Approvals table: all Pending rows → `Approved` + today's date.
|
|
108
|
+
- Version History: append a row using the document's **current**
|
|
109
|
+
version (a pure approval doesn't bump it):
|
|
110
|
+
`| {current version} | {today} | {jira or chat} | Approved | — |`
|
|
111
|
+
- **Never** use this document-level approval signal to also check any
|
|
112
|
+
of the per-item risk/dependency/complexity findings in §1–§9 as
|
|
113
|
+
resolved — approval here means "the analysis is sound and complete
|
|
114
|
+
enough to proceed," not that every CF-NNN finding or R-NNN risk has
|
|
115
|
+
been individually addressed. Those are tracked to closure by
|
|
116
|
+
/clarify and /task, not by this approval.
|
|
117
|
+
3. Re-save `analyze.md` and regenerate `analyze.summary.md`.
|
|
118
|
+
4. Ask once: "Recording the approval — approver name/role and an optional comment?"
|
|
119
|
+
(defaults: the accountable role for this gate in roles.yml; "approved in chat")
|
|
120
|
+
5. Record locally and sync Confluence:
|
|
121
|
+
```bash
|
|
122
|
+
sdd review approve --doc analyze --local --by "{approver}" --note "{comment}"
|
|
123
|
+
```
|
|
124
|
+
This also updates the document's existing Confluence page when a `confluence:`
|
|
125
|
+
section exists in `.specify/integrations.yml`.
|
|
126
|
+
If the command fails or the CLI is not installed, note: "Analyze approved ✓
|
|
127
|
+
(Confluence page not updated)" and continue — the `Status: Approved` header is
|
|
128
|
+
the authoritative gate.
|
|
129
|
+
|
|
82
130
|
<!-- shared:token-usage-log-step:start -->
|
|
83
131
|
## Token Usage Logging (this command)
|
|
84
132
|
Check now, with a fresh file read — not a memory of whether
|
|
@@ -93,4 +141,4 @@ update its Running Totals table. If the file still doesn't exist, skip
|
|
|
93
141
|
this silently — do not create it and do not mention it.
|
|
94
142
|
<!-- shared:token-usage-log-step:end -->
|
|
95
143
|
|
|
96
|
-
-
|
|
144
|
+
- Do NOT proceed to /clarify until the approval above is recorded.
|
{sddflow-2.7.55 → sddflow-2.7.58}/sdd/packs/sdd-backend-service/.github/prompts/clarify.prompt.md
RENAMED
|
@@ -81,6 +81,53 @@ For each spec document with content affected by a resolved item:
|
|
|
81
81
|
|
|
82
82
|
Write `.specify/features/{manifest.project.feature}/clarify.summary.md` — confirm all items RESOLVED. If any items were resolved by best guess, list them so the Plan-Design reviewer is aware.
|
|
83
83
|
|
|
84
|
+
### Step 6 — Stakeholder Review and Approval
|
|
85
|
+
|
|
86
|
+
**Step B — Formal submission**
|
|
87
|
+
|
|
88
|
+
If `.specify/integrations.yml` has `document_reviews.clarify` configured:
|
|
89
|
+
```bash
|
|
90
|
+
sdd review submit --doc clarify
|
|
91
|
+
```
|
|
92
|
+
If the command succeeds, tell the user:
|
|
93
|
+
> "Clarification report submitted for Jira review. Reply **'approved'** (or 'yes', 'LGTM', 'looks good') once the Architect approves."
|
|
94
|
+
|
|
95
|
+
If the CLI fails or is not configured, present the document and ask:
|
|
96
|
+
> "Clarification report generated — all items resolved. Review the answers above and reply **'approved'** (or 'yes', 'LGTM', 'looks good') to continue, or provide feedback:"
|
|
97
|
+
|
|
98
|
+
**Step C — On approval (any path: Jira or chat)**
|
|
99
|
+
|
|
100
|
+
When the user replies with any approval signal — **'approved'**, **'approve'**, **'yes'**, **'LGTM'**, **'looks good'**, **'go ahead'**, **'confirmed'**, or any similar affirmative (case-insensitive):
|
|
101
|
+
1. Run `sdd review check --doc clarify` to verify:
|
|
102
|
+
- Exit 0 → confirmed. Proceed.
|
|
103
|
+
- Non-0 and CLI is configured → warn: "Jira shows not yet approved. Confirm you want to proceed? (yes/no)" — wait for response.
|
|
104
|
+
- CLI not available → skip check and proceed.
|
|
105
|
+
2. Update `clarify.md`:
|
|
106
|
+
- Header: `Status: Draft` → `Status: Approved`, date → today.
|
|
107
|
+
- Approvals table: all Pending rows → `Approved` + today's date.
|
|
108
|
+
- Version History: append a row using the document's **current**
|
|
109
|
+
version (a pure approval doesn't bump it — Step 3 above already
|
|
110
|
+
bumped it when the items were resolved):
|
|
111
|
+
`| {current version} | {today} | {jira or chat} | Approved | — |`
|
|
112
|
+
- This approval confirms the Architect has reviewed the resolved
|
|
113
|
+
answers (including any best-guess items) and is satisfied to
|
|
114
|
+
proceed to /plan-design — it does not re-open, and must not be
|
|
115
|
+
used to silently overwrite, the per-item RESOLVED/CONFIRMED/
|
|
116
|
+
DECIDED/CORRECTED status already recorded in the STATUS TABLE at
|
|
117
|
+
Step 3.
|
|
118
|
+
3. Re-save `clarify.md` and regenerate `clarify.summary.md`.
|
|
119
|
+
4. Ask once: "Recording the approval — approver name/role and an optional comment?"
|
|
120
|
+
(defaults: the accountable role for this gate in roles.yml; "approved in chat")
|
|
121
|
+
5. Record locally and sync Confluence:
|
|
122
|
+
```bash
|
|
123
|
+
sdd review approve --doc clarify --local --by "{approver}" --note "{comment}"
|
|
124
|
+
```
|
|
125
|
+
This also updates the document's existing Confluence page when a `confluence:`
|
|
126
|
+
section exists in `.specify/integrations.yml`.
|
|
127
|
+
If the command fails or the CLI is not installed, note: "Clarify approved ✓
|
|
128
|
+
(Confluence page not updated)" and continue — the `Status: Approved` header is
|
|
129
|
+
the authoritative gate.
|
|
130
|
+
|
|
84
131
|
<!-- shared:token-usage-log-step:start -->
|
|
85
132
|
## Token Usage Logging (this command)
|
|
86
133
|
Check now, with a fresh file read — not a memory of whether
|
|
@@ -155,6 +155,19 @@ When the user replies with any approval signal — **'approved'**, **'approve'**
|
|
|
155
155
|
version (a pure approval doesn't bump it — only an assumption
|
|
156
156
|
correction in §3 above does):
|
|
157
157
|
`| {current version} | {today} | {jira or chat} | Approved | — |`
|
|
158
|
+
- **Never** use this document-level approval signal to also check any
|
|
159
|
+
of the per-item confirmation checkboxes in §1 (Reviewer Confirms),
|
|
160
|
+
§2 (BA Confirms / PO Confirms), §3 (Correct?), §3a (Business
|
|
161
|
+
Scenario Correct?), or §4 (Scope Confirmation). Those require the
|
|
162
|
+
named reviewer to have actually addressed that *specific* item —
|
|
163
|
+
a blanket "approved" reply, a Jira status flip to Done/Closed, or a
|
|
164
|
+
comment thread that only answered NEEDS CLARIFICATION questions is
|
|
165
|
+
not itemized evidence for them. If any of those boxes are still
|
|
166
|
+
`[ ]` when the header flips to Approved, leave them `[ ]` and add a
|
|
167
|
+
note under §5: "Approved as a whole document; items in §1–§4 were
|
|
168
|
+
not itemized during review." Only check a specific box when you can
|
|
169
|
+
point to the actual reviewer statement that confirmed that exact
|
|
170
|
+
item.
|
|
158
171
|
3. Re-save `validate.md` and regenerate `validate.summary.md`.
|
|
159
172
|
4. Ask once: "Recording the approval — approver name/role and an optional comment?"
|
|
160
173
|
(defaults: the accountable role for this gate in roles.yml; "approved in chat")
|
|
@@ -195,7 +195,9 @@ confluence:
|
|
|
195
195
|
adr: "{feature} — Architecture Decisions" # separate plan_mode
|
|
196
196
|
lld: "{feature} — Low-Level Design"
|
|
197
197
|
runbook: "Runbook" # living — no {feature}, nests under {project}
|
|
198
|
-
|
|
198
|
+
validate: "{feature} — Validation Report"
|
|
199
|
+
analyze: "{feature} — Analysis Report"
|
|
200
|
+
clarify: "{feature} — Clarifications"
|
|
199
201
|
# release: "{feature} — Release Notes"
|
|
200
202
|
|
|
201
203
|
# Diagram rendering: Confluence has NO native Mermaid or PlantUML
|
|
@@ -266,10 +268,12 @@ confluence:
|
|
|
266
268
|
# docs/runbook/local-setup.md, and living/service-level documents
|
|
267
269
|
# (data-model, security-design, api-spec, component-library — shared
|
|
268
270
|
# across every feature in this service, see CLAUDE.md "Living
|
|
269
|
-
# Documents") live at .specify/service/. This example
|
|
270
|
-
#
|
|
271
|
-
#
|
|
272
|
-
#
|
|
271
|
+
# Documents") live at .specify/service/. This example wires up the main
|
|
272
|
+
# spec-phase gate (brd/use-cases/srd/design), the validate phase
|
|
273
|
+
# (validate/analyze/clarify — each optional individually, see
|
|
274
|
+
# CLAUDE.md "Document Review Gates"), and lld/tasks/runbook/release —
|
|
275
|
+
# add entries here for any other document you want a Jira/Confluence
|
|
276
|
+
# review gate on.
|
|
273
277
|
#
|
|
274
278
|
# confluence_page keeps {feature} in the title for every per-feature entry
|
|
275
279
|
# below, same reasoning as page_map above: `sdd review submit` nests pages
|
|
@@ -314,6 +318,33 @@ document_reviews:
|
|
|
314
318
|
sequence: 4 # cannot submit until SRD approved
|
|
315
319
|
confluence_page: "{feature} — Design"
|
|
316
320
|
|
|
321
|
+
# ── validate phase (Validate → Analyze → Clarify) ─────────────────────────
|
|
322
|
+
# Runs after the specify phase is fully approved, before planning begins.
|
|
323
|
+
# Each of these three is optional individually — remove any entry you want
|
|
324
|
+
# to keep chat-only; only the ones present here get routed through Jira/
|
|
325
|
+
# Confluence. When present, sequence within this phase is still enforced
|
|
326
|
+
# the same way as any other phase (validate before analyze before clarify).
|
|
327
|
+
validate:
|
|
328
|
+
reviewer_jira_user: "5c7b8a2d0f3e1a4b9d6c8f21" # PO's Jira accountId (same as brd)
|
|
329
|
+
reviewer_role: Product Owner
|
|
330
|
+
phase: validate
|
|
331
|
+
sequence: 1
|
|
332
|
+
confluence_page: "{feature} — Validation Report"
|
|
333
|
+
|
|
334
|
+
analyze:
|
|
335
|
+
reviewer_jira_user: "8f0e1d5g3h6c4d7e2f9g1i54" # Tech Lead's accountId (same as lld)
|
|
336
|
+
reviewer_role: Tech Lead
|
|
337
|
+
phase: validate
|
|
338
|
+
sequence: 2 # cannot submit until Validate approved
|
|
339
|
+
confluence_page: "{feature} — Analysis Report"
|
|
340
|
+
|
|
341
|
+
clarify:
|
|
342
|
+
reviewer_jira_user: "7e9d0c4f2g5b3c6d1e8f0h43" # Architect's accountId (same as design)
|
|
343
|
+
reviewer_role: Architect
|
|
344
|
+
phase: validate
|
|
345
|
+
sequence: 3 # cannot submit until Analyze approved
|
|
346
|
+
confluence_page: "{feature} — Clarifications"
|
|
347
|
+
|
|
317
348
|
# ── planning phase ────────────────────────────────────────────────────────
|
|
318
349
|
# separate plan_mode only — uncomment these three (and remove design: above).
|
|
319
350
|
# Order matches the prompts: /plan-arch → /plan-hld → /plan-adr → /plan-lld.
|
|
@@ -43,5 +43,5 @@ testing_style: "paired"
|
|
|
43
43
|
# If using sdd-universal instead, set project_type: "backend-service" in its manifest.yml
|
|
44
44
|
# project_type: "backend-service"
|
|
45
45
|
|
|
46
|
-
sdd_version: "2.7.
|
|
46
|
+
sdd_version: "2.7.58" # set by sdd init; used by sdd upgrade
|
|
47
47
|
ai_tool: "" # set by sdd init: claude-code | copilot | cursor | windsurf | other
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Clarification Report — {Feature Name}
|
|
2
|
-
> Version: {spec version} | Status:
|
|
2
|
+
> Version: {spec version} | Status: Draft | Date: {date} | Author: {author}
|
|
3
3
|
> Fill all answers before PLAN begins
|
|
4
4
|
|
|
5
5
|
---
|
|
@@ -85,7 +85,7 @@ All items must be resolved before PLAN begins.
|
|
|
85
85
|
## Approvals
|
|
86
86
|
| Role | Status | Date |
|
|
87
87
|
|---|---|---|
|
|
88
|
-
|
|
|
88
|
+
| Architect (accountable) | Pending | |
|
|
89
89
|
|
|
90
90
|
## Version History
|
|
91
91
|
|
|
@@ -333,6 +333,7 @@ filenames: `design` exists in unified mode; `arch`/`hld`/`adr` in separate mode.
|
|
|
333
333
|
| Phase | Sequence (unified) | Sequence (separate) | Reviewer |
|
|
334
334
|
|---|---|---|---|
|
|
335
335
|
| specify | BRD → Use Cases → SRD → Design | BRD → Use Cases → SRD | PO → BA → BA → Architect |
|
|
336
|
+
| validate | Validate → Analyze → Clarify | Validate → Analyze → Clarify | PO → Tech Lead → Architect |
|
|
336
337
|
| planning | LLD (mvp+) | Arch → HLD → ADR (mvp+) → LLD (mvp+) | Tech Lead / Architect |
|
|
337
338
|
| tasks | Tasks | Tasks | Scrum Master |
|
|
338
339
|
| release | Runbook → Release | Runbook → Release | DevOps → Release Manager |
|
|
@@ -348,6 +349,13 @@ When `sdd review check` exits 1 (NEEDS REVISION): read reviewer comments, update
|
|
|
348
349
|
the document, then run `sdd review apply` and ask reviewer to re-review.
|
|
349
350
|
Configure reviewers in `.specify/integrations.yml` — see `integrations.yml.example`.
|
|
350
351
|
|
|
352
|
+
**The `validate` phase is optional per-document.** Unlike the `specify`/
|
|
353
|
+
`planning`/`tasks`/`release` phases, `validate`/`analyze`/`clarify` fall back
|
|
354
|
+
to chat approval individually if their own `document_reviews` entry is
|
|
355
|
+
missing — add `document_reviews.validate` (and/or `.analyze`, `.clarify`) to
|
|
356
|
+
`integrations.yml` only for the ones you want routed through Jira/Confluence;
|
|
357
|
+
the rest stay chat-only.
|
|
358
|
+
|
|
351
359
|
**Blocked documents can still collect answers via Jira/Confluence.** A
|
|
352
360
|
document like `validate.md` can be blocked on `[NEEDS CLARIFICATION-NNN]`
|
|
353
361
|
markers in its source docs before it's ever submitted for review — see
|
|
@@ -357,7 +365,8 @@ reviewer/ticket `sdd review submit` will use once unblocked — the ticket
|
|
|
357
365
|
evolves in place, no duplicate). `sdd review pull-answers --doc {doc}`
|
|
358
366
|
reads reviewer replies (a comment starting with the item's ID, e.g.
|
|
359
367
|
`brd:NC-002: 90 days`) and patches the answered marker directly into its
|
|
360
|
-
source document, bumping that document's version
|
|
368
|
+
source document, bumping that document's version, and re-pushes that
|
|
369
|
+
document's own Confluence page immediately so it never goes stale.
|
|
361
370
|
|
|
362
371
|
**Every review-driven edit bumps the version.** Whichever mode surfaced the
|
|
363
372
|
feedback — a Jira comment, a dashboard comment, or direct chat feedback —
|
|
@@ -353,6 +353,8 @@ blank one — see "Living Documents" in `CLAUDE.md`.
|
|
|
353
353
|
|
|
354
354
|
**Reviewer:** Product Owner + Business Analyst
|
|
355
355
|
|
|
356
|
+
**Jira/Confluence:** optional — see "Document Review Workflow" below (also covers `push-questions`/`pull-answers` for collecting answers to blocking `[NEEDS CLARIFICATION-NNN]` items before the document is even submitted for review).
|
|
357
|
+
|
|
356
358
|
---
|
|
357
359
|
|
|
358
360
|
### Phase 3 — ANALYZE
|
|
@@ -379,6 +381,8 @@ blank one — see "Living Documents" in `CLAUDE.md`.
|
|
|
379
381
|
|
|
380
382
|
**Reviewer:** Tech Lead (accountable), Architect + Security Officer (consulted)
|
|
381
383
|
|
|
384
|
+
**Jira/Confluence:** optional — see "Document Review Workflow" below.
|
|
385
|
+
|
|
382
386
|
---
|
|
383
387
|
|
|
384
388
|
### Phase 4 — CLARIFY
|
|
@@ -405,6 +409,8 @@ blank one — see "Living Documents" in `CLAUDE.md`.
|
|
|
405
409
|
|
|
406
410
|
**Reviewer:** Product Owner (accountable), Business Analyst (consulted)
|
|
407
411
|
|
|
412
|
+
**Jira/Confluence:** optional — see "Document Review Workflow" below.
|
|
413
|
+
|
|
408
414
|
---
|
|
409
415
|
|
|
410
416
|
### Phase 5 — PLAN
|
|
@@ -673,7 +679,7 @@ sdd confluence push --all # push all documents listed in integrations.yml
|
|
|
673
679
|
```
|
|
674
680
|
Page titles come from `integrations.yml → confluence.page_map`. Re-running updates the existing page.
|
|
675
681
|
|
|
676
|
-
**On a multi-feature project — living docs get ONE page, per-feature docs get one page each.** Living/service-level documents (`data-model`, `security-design`, `api-spec`, `component-library`) always resolve to a single shared page regardless of which feature is active — that's correct, since the underlying document itself is shared. Per-feature documents (`brd`, `use-cases`, `srd`, `design`/`arch`/`hld`/`adr`, `lld`, `validate`, `release`) need `{feature}` in their `page_map` title template to get a separate page per feature — the shipped `integrations.yml.example` already includes it. If your `integrations.yml` predates this and its titles don't have `{feature}`, every feature pushing the same doc type will silently overwrite the same page — add `{feature}` to those entries to fix it.
|
|
682
|
+
**On a multi-feature project — living docs get ONE page, per-feature docs get one page each.** Living/service-level documents (`data-model`, `security-design`, `api-spec`, `component-library`) always resolve to a single shared page regardless of which feature is active — that's correct, since the underlying document itself is shared. Per-feature documents (`brd`, `use-cases`, `srd`, `design`/`arch`/`hld`/`adr`, `lld`, `validate`, `analyze`, `clarify`, `release`) need `{feature}` in their `page_map` title template to get a separate page per feature — the shipped `integrations.yml.example` already includes it. If your `integrations.yml` predates this and its titles don't have `{feature}`, every feature pushing the same doc type will silently overwrite the same page — add `{feature}` to those entries to fix it.
|
|
677
683
|
|
|
678
684
|
---
|
|
679
685
|
|
|
@@ -717,6 +723,36 @@ usage per feature, plus Approve/comment buttons that update the same
|
|
|
717
723
|
|
|
718
724
|
Configure reviewers (Jira accountId per document) in `.specify/integrations.yml`. Run `sdd config init` to generate this file interactively, or copy `.specify/integrations.yml.example` and edit it.
|
|
719
725
|
|
|
726
|
+
**`/validate`, `/analyze`, and `/clarify` can go through this same jira-mode
|
|
727
|
+
flow — each is optional individually.** Add `document_reviews.validate`
|
|
728
|
+
(and/or `.analyze`, `.clarify`) to `integrations.yml` for whichever of the
|
|
729
|
+
three you want routed through Jira/Confluence — they form their own
|
|
730
|
+
`validate` phase (Validate → Analyze → Clarify), sequence-gated the same
|
|
731
|
+
way BRD → Use Cases → SRD is. Leave any of the three out and it stays
|
|
732
|
+
chat-only, no config change needed elsewhere.
|
|
733
|
+
|
|
734
|
+
**A document can collect answers via Jira/Confluence before it's even
|
|
735
|
+
submitted for review.** `validate.md` (and any doc with the same
|
|
736
|
+
`[NEEDS CLARIFICATION-NNN]` marker pattern) can be *blocked* on open
|
|
737
|
+
questions in its source docs — `/validate`'s own scan lists them. Rather
|
|
738
|
+
than waiting for a formal review round, push those specific questions out
|
|
739
|
+
now:
|
|
740
|
+
```bash
|
|
741
|
+
sdd review push-questions --doc validate # push open items to Jira + Confluence
|
|
742
|
+
# reviewer replies as a comment, one line per item:
|
|
743
|
+
# brd:NC-002: 90 days, per data retention policy DR-014
|
|
744
|
+
sdd review pull-answers --doc validate # pull replies, patch the answered markers
|
|
745
|
+
```
|
|
746
|
+
`push-questions` creates (or updates, if one already exists) **one** Jira
|
|
747
|
+
ticket — reusing the same reviewer/ticket `sdd review submit` will use
|
|
748
|
+
once the document unblocks, so it evolves in place rather than duplicating.
|
|
749
|
+
`pull-answers` reads back replies matching `{doc}:NC-{NNN}: {answer}`,
|
|
750
|
+
patches each answered marker directly into its source document (bumping
|
|
751
|
+
that document's version), and — if `confluence:` is configured — re-pushes
|
|
752
|
+
that document's own Confluence page immediately so it never goes stale.
|
|
753
|
+
Safe to call `pull-answers` unconditionally (e.g. every time you re-run
|
|
754
|
+
`/validate`) — it's a no-op when there's nothing new.
|
|
755
|
+
|
|
720
756
|
---
|
|
721
757
|
|
|
722
758
|
## Scope Presets
|
|
@@ -556,7 +556,12 @@ Produce:
|
|
|
556
556
|
business owner to confirm or reject.
|
|
557
557
|
3a. NEEDS CLARIFICATION SCAN — scan brd/use-cases/srd for [NEEDS
|
|
558
558
|
CLARIFICATION] markers; these are BLOCKING — must be resolved
|
|
559
|
-
before sign-off.
|
|
559
|
+
before sign-off. If document_reviews.validate is configured, run
|
|
560
|
+
`sdd review pull-answers --doc validate` first (patches any new
|
|
561
|
+
Jira/Confluence replies into the source docs), then
|
|
562
|
+
`sdd review push-questions --doc validate` for whatever's still
|
|
563
|
+
open — lets the reviewer answer via a Jira/Confluence comment
|
|
564
|
+
before validate.md is even submitted for formal review.
|
|
560
565
|
4. SCOPE CONFIRMATION — in-scope / out-of-scope items from brd.md.
|
|
561
566
|
4a. SECURITY DESIGN SIGN-OFF (mvp+) — if security-design.md exists and
|
|
562
567
|
is not yet signed off, block /analyze until the Security Officer
|
|
@@ -567,6 +572,9 @@ Produce:
|
|
|
567
572
|
Approved / Changes Requested.
|
|
568
573
|
|
|
569
574
|
Save: validate.md + validate.summary.md
|
|
575
|
+
Stakeholder review (Confluence/Jira submit if document_reviews.validate
|
|
576
|
+
configured, else chat approval → Status: Approved + Approvals table +
|
|
577
|
+
Version History).
|
|
570
578
|
Present report. WAIT for sign-off.
|
|
571
579
|
|
|
572
580
|
If approved:
|
|
@@ -613,6 +621,8 @@ Produce:
|
|
|
613
621
|
Suggested approach, items for /clarify, tasks likely needing SPLIT
|
|
614
622
|
|
|
615
623
|
Save: analyze.md + analyze.summary.md
|
|
624
|
+
Stakeholder review (Confluence/Jira submit if document_reviews.analyze
|
|
625
|
+
configured, else chat approval — same Confluence/Jira/chat flow as BRD).
|
|
616
626
|
Wait for review before /clarify.
|
|
617
627
|
```
|
|
618
628
|
|
|
@@ -654,6 +664,8 @@ Read clarify.md with answers
|
|
|
654
664
|
Update affected spec docs → mark: <!-- Clarified: {ID} -->
|
|
655
665
|
Regenerate .summary.md for each updated doc
|
|
656
666
|
Write clarify.summary.md — all items RESOLVED
|
|
667
|
+
Stakeholder review (Confluence/Jira submit if document_reviews.clarify
|
|
668
|
+
configured, else chat approval — same Confluence/Jira/chat flow as BRD).
|
|
657
669
|
State: "CLARIFY complete — ready for the PLAN phase"
|
|
658
670
|
```
|
|
659
671
|
|