sddflow 2.7.77__tar.gz → 2.7.82__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.77 → sddflow-2.7.82}/PKG-INFO +2 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/README.md +1 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/pyproject.toml +1 -1
- sddflow-2.7.82/sdd/__init__.py +1 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/dashboard.py +41 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/upgrade.py +213 -0
- {sddflow-2.7.77/sdd/packs/sdd-fullstack → sddflow-2.7.82/sdd/packs/sdd-backend-service}/.github/prompts/specify-brd.prompt.md +5 -0
- {sddflow-2.7.77/sdd/packs/sdd-fullstack → sddflow-2.7.82/sdd/packs/sdd-backend-service}/.github/prompts/specify-doc.prompt.md +22 -2
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/manifest.yml +1 -1
- {sddflow-2.7.77/sdd/packs/sdd-universal → sddflow-2.7.82/sdd/packs/sdd-backend-service}/.specify/templates/brd-template.md +9 -4
- {sddflow-2.7.77/sdd/packs/sdd-mobile → sddflow-2.7.82/sdd/packs/sdd-backend-service}/.specify/templates/design-template.md +1 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/release-template.md +15 -1
- {sddflow-2.7.77/sdd/packs/sdd-universal → sddflow-2.7.82/sdd/packs/sdd-backend-service}/.specify/templates/security-design-template.md +7 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-brd.prompt.md +5 -0
- {sddflow-2.7.77/sdd/packs/sdd-backend-service → sddflow-2.7.82/sdd/packs/sdd-frontend-spa}/.github/prompts/specify-doc.prompt.md +22 -2
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/manifest.yml +1 -1
- {sddflow-2.7.77/sdd/packs/sdd-backend-service → sddflow-2.7.82/sdd/packs/sdd-frontend-spa}/.specify/templates/brd-template.md +36 -8
- {sddflow-2.7.77/sdd/packs/sdd-fullstack → sddflow-2.7.82/sdd/packs/sdd-frontend-spa}/.specify/templates/component-spec-template.md +8 -2
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/data-model-template.md +6 -0
- {sddflow-2.7.77/sdd/packs/sdd-backend-service → sddflow-2.7.82/sdd/packs/sdd-frontend-spa}/.specify/templates/design-template.md +1 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/release-template.md +13 -2
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/runbook-template.md +7 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/security-design-template.md +18 -9
- sddflow-2.7.82/sdd/packs/sdd-frontend-spa/.specify/templates/ux-flow-template.md +45 -0
- {sddflow-2.7.77/sdd/packs/sdd-backend-service → sddflow-2.7.82/sdd/packs/sdd-fullstack}/.github/prompts/specify-brd.prompt.md +5 -0
- {sddflow-2.7.77/sdd/packs/sdd-mobile → sddflow-2.7.82/sdd/packs/sdd-fullstack}/.github/prompts/specify-doc.prompt.md +22 -2
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/manifest.yml +1 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/api-spec-template.md +6 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/brd-template.md +41 -8
- {sddflow-2.7.77/sdd/packs/sdd-frontend-spa → sddflow-2.7.82/sdd/packs/sdd-fullstack}/.specify/templates/component-spec-template.md +8 -2
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/data-model-template.md +6 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/design-template.md +1 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/release-template.md +14 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/runbook-template.md +8 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/screen-spec-template.md +11 -5
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/security-design-template.md +24 -15
- sddflow-2.7.82/sdd/packs/sdd-fullstack/.specify/templates/ux-flow-template.md +45 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/specify-brd.prompt.md +5 -0
- {sddflow-2.7.77/sdd/packs/sdd-frontend-spa → sddflow-2.7.82/sdd/packs/sdd-mobile}/.github/prompts/specify-doc.prompt.md +22 -2
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/manifest.yml +1 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/brd-template.md +41 -8
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/data-model-template.md +6 -0
- {sddflow-2.7.77/sdd/packs/sdd-frontend-spa → sddflow-2.7.82/sdd/packs/sdd-mobile}/.specify/templates/design-template.md +1 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/release-template.md +13 -2
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/runbook-template.md +7 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/screen-spec-template.md +11 -5
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/security-design-template.md +18 -9
- sddflow-2.7.82/sdd/packs/sdd-mobile/.specify/templates/ux-flow-template.md +45 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/implement.prompt.md +9 -1
- sddflow-2.7.82/sdd/packs/sdd-universal/.github/prompts/specify-brd.prompt.md +232 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.github/prompts/specify-doc.prompt.md +333 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/manifest.yml +1 -1
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/api-spec-template.md +7 -1
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/brd-template.md +116 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/component-library-template.md +44 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/component-spec-template.md +60 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/data-model-template-frontend.md +130 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/data-model-template-mobile.md +160 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/data-model-template.md +6 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/design-template.md +279 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/runbook-template-frontend.md +122 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/runbook-template-mobile.md +128 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/runbook-template.md +7 -1
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/screen-spec-template.md +46 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/security-design-template-frontend.md +127 -0
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/security-design-template-mobile.md +134 -0
- {sddflow-2.7.77/sdd/packs/sdd-backend-service → sddflow-2.7.82/sdd/packs/sdd-universal}/.specify/templates/security-design-template.md +12 -9
- sddflow-2.7.82/sdd/packs/sdd-universal/.specify/templates/ux-flow-template.md +45 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/status.py +342 -15
- sddflow-2.7.77/sdd/__init__.py +0 -1
- sddflow-2.7.77/sdd/packs/sdd-frontend-spa/.specify/templates/brd-template.md +0 -83
- sddflow-2.7.77/sdd/packs/sdd-frontend-spa/.specify/templates/ux-flow-template.md +0 -36
- sddflow-2.7.77/sdd/packs/sdd-fullstack/.specify/templates/ux-flow-template.md +0 -36
- sddflow-2.7.77/sdd/packs/sdd-mobile/.specify/templates/ux-flow-template.md +0 -36
- sddflow-2.7.77/sdd/packs/sdd-universal/.github/prompts/specify-brd.prompt.md +0 -227
- sddflow-2.7.77/sdd/packs/sdd-universal/.github/prompts/specify-doc.prompt.md +0 -313
- sddflow-2.7.77/sdd/packs/sdd-universal/.specify/templates/design-template.md +0 -279
- {sddflow-2.7.77 → sddflow-2.7.82}/.gitignore +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/__main__.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/__init__.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/config.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/confluence.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/cr.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/init.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/jira.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/pr.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/review.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/commands/token_log.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/ava.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/change.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/implement.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/kai.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/leo.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/maya.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/release.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/rex.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/riley.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/specify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/start.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/task.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.claude/commands/validate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/instructions/api.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/instructions/domain.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/instructions/java.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/analyze.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/clarify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/prompts/validate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.gitignore +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.gitlab-ci.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/integrations.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/data-model-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/k8s-manifest-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/openapi-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.vscode/extensions.json +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/.windsurfrules +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/CLAUDE.local.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/CLAUDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/HOW-TO-USE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/PROMPT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/QUICKSTART.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/README.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/WHY-SDD.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/azure-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/setup.ps1 +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-backend-service/setup.sh +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/ava.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/change.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/implement.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/kai.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/leo.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/maya.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/release.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/rex.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/riley.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/specify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/start.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/task.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.claude/commands/validate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/instructions/components.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/instructions/services.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/analyze.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/clarify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/validate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.gitignore +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.gitlab-ci.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/integrations.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/component-library-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.vscode/extensions.json +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.windsurfrules +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/CLAUDE.local.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/CLAUDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/HOW-TO-USE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/PROMPT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/QUICKSTART.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/README.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/WHY-SDD.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/azure-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/setup.ps1 +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/setup.sh +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/ava.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/change.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/implement.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/kai.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/leo.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/maya.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/release.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/rex.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/riley.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/specify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/start.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/task.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.claude/commands/validate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/instructions/backend-tests.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/instructions/components.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/instructions/domain.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/instructions/frontend-services.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/instructions/java.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/analyze.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/clarify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/prompts/validate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.gitignore +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.gitlab-ci.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/integrations.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/component-library-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/openapi-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.vscode/extensions.json +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/.windsurfrules +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/CLAUDE.local.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/CLAUDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/HOW-TO-USE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/PROMPT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/QUICKSTART.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/README.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/WHY-SDD.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/azure-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/setup.ps1 +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-fullstack/setup.sh +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.claude/commands/implement.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.claude/commands/specify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.claude/commands/start.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.claude/commands/task.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.specify/manifest.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/.windsurfrules +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/CLAUDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/QUICKSTART.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/README.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/WHY-SDD.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/setup.ps1 +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-micro/setup.sh +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/ava.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/change.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/implement.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/kai.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/leo.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/maya.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/release.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/rex.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/riley.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/specify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/start.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/task.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.claude/commands/validate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/instructions/screens.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/instructions/services.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/analyze.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/clarify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/implement.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/prompts/validate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.gitignore +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.gitlab-ci.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/integrations.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.vscode/extensions.json +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/.windsurfrules +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/CLAUDE.local.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/CLAUDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/HOW-TO-USE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/PROMPT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/QUICKSTART.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/README.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/WHY-SDD.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/azure-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/setup.ps1 +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-mobile/setup.sh +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/ava.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/change.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/implement.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/jira-push.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/kai.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/leo.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/maya.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/release.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/rex.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/riley.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/specify.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/start.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/task.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.claude/commands/validate.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/instructions/domain.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/instructions/entrypoints.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/analyze.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/change.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/checklist.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/clarify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/create-context.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/jira-push.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/orchestrate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/plan-adr.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/plan-arch.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/plan-design.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/plan-hld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/plan-lld.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/pre-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/release.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/specify-srd.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/specify-uc.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/specify.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/task.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/prompts/validate.prompt.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.gitignore +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.gitlab-ci.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/integrations.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/memory/change-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/memory/constitution.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/memory/token-pricing.yml.example +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/changeset-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/feature-story-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/jira-export-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/k8s-manifest-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/openapi-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/release-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/srd-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/tasks-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/token-usage-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/use-cases-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.vscode/extensions.json +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/.windsurfrules +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/CHANGE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/CLAUDE.local.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/CLAUDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/FLOW-ROLES-GATES.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/HOW-TO-USE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/PROMPT-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/QUICKSTART.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/README.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/SDLC-COMPLETE-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/WHY-SDD.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/azure-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/setup.ps1 +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-universal/setup.sh +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/__init__.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/atlassian_auth.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/cf_to_md.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/claude_code_transcript.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/confluence_client.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/dashboard_comments.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/detect.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/git_host.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/integrations.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/jira_client.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/manifest.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/md_to_cf.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/mermaid_render.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/scaffold.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/sdd/utils/sdd_parser.py +0 -0
- {sddflow-2.7.77 → sddflow-2.7.82}/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.82
|
|
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
|
|
@@ -574,6 +574,7 @@ Shows, per feature under `.specify/features/`:
|
|
|
574
574
|
BRD"), which would misleadingly suggest the doc doesn't exist yet.
|
|
575
575
|
sdd-micro has no Virtual Team, so none of this ever appears there.
|
|
576
576
|
- **Documents** — every generated doc and its `Status:` (Draft/Approved/etc.), with a best-effort "what's next" guess, including the same persona ask shown on the Full Pipeline's Next box when the next doc has an owner. Each doc has a **View** button that reads the raw `.md` straight from disk into the page — no need to leave the browser to check content.
|
|
577
|
+
- **Business Objectives** — chains `brd.md` §2 Business Objectives → §5's `Serves BO` column → `srd.md`'s Functional Requirements → `tasks.md`'s completion status, so each `BO-NNN` shows which `UC-NNN`s implement it and how much of that work is actually done (0% → Not Started, partial → In Progress, 100% → Done). Shown per-feature, plus a **cross-feature rollup card** above all the feature blocks — "of these business objectives across all features, which are met, which are pending, and where." Empty until `brd.md` §5 rows cite a `Serves BO`.
|
|
577
578
|
- **Tasks** — parsed from `tasks.md` (works with both the full packs' checkbox-based tasks and sdd-micro's `**Status:**` field)
|
|
578
579
|
- **Token Usage** — the running totals from `token-usage.md`, if token usage logging is enabled for that feature
|
|
579
580
|
- **Jira Export** — the Epic/Story/Task links from the progressive export (`docs/jira/{feature}/keys.yml`), if you've run `/jira-push` or `sdd jira push`
|
|
@@ -539,6 +539,7 @@ Shows, per feature under `.specify/features/`:
|
|
|
539
539
|
BRD"), which would misleadingly suggest the doc doesn't exist yet.
|
|
540
540
|
sdd-micro has no Virtual Team, so none of this ever appears there.
|
|
541
541
|
- **Documents** — every generated doc and its `Status:` (Draft/Approved/etc.), with a best-effort "what's next" guess, including the same persona ask shown on the Full Pipeline's Next box when the next doc has an owner. Each doc has a **View** button that reads the raw `.md` straight from disk into the page — no need to leave the browser to check content.
|
|
542
|
+
- **Business Objectives** — chains `brd.md` §2 Business Objectives → §5's `Serves BO` column → `srd.md`'s Functional Requirements → `tasks.md`'s completion status, so each `BO-NNN` shows which `UC-NNN`s implement it and how much of that work is actually done (0% → Not Started, partial → In Progress, 100% → Done). Shown per-feature, plus a **cross-feature rollup card** above all the feature blocks — "of these business objectives across all features, which are met, which are pending, and where." Empty until `brd.md` §5 rows cite a `Serves BO`.
|
|
542
543
|
- **Tasks** — parsed from `tasks.md` (works with both the full packs' checkbox-based tasks and sdd-micro's `**Status:**` field)
|
|
543
544
|
- **Token Usage** — the running totals from `token-usage.md`, if token usage logging is enabled for that feature
|
|
544
545
|
- **Jira Export** — the Epic/Story/Task links from the progressive export (`docs/jira/{feature}/keys.yml`), if you've run `/jira-push` or `sdd jira push`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.7.82"
|
|
@@ -350,6 +350,44 @@ function renderTasks(tasks) {
|
|
|
350
350
|
`;
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
+
function renderBusinessObjectives(bos, opts) {
|
|
354
|
+
opts = opts || {};
|
|
355
|
+
if (!bos || bos.length === 0) {
|
|
356
|
+
return '<div class="empty">No BO-NNN rows in brd.md yet, or its Business Requirements section doesn’t cite a Serves BO column.</div>';
|
|
357
|
+
}
|
|
358
|
+
const rows = bos.map(bo => {
|
|
359
|
+
const ucCell = (bo.uc_ids && bo.uc_ids.length) ? escapeHtml(bo.uc_ids.join(', ')) : '<span class="sub">none linked</span>';
|
|
360
|
+
const progressCell = bo.task_count
|
|
361
|
+
? `${bo.percent_done}% <span class="sub">(${bo.tasks_done}/${bo.task_count})</span>`
|
|
362
|
+
: '<span class="sub">no tasks linked</span>';
|
|
363
|
+
const featureCell = opts.showFeature
|
|
364
|
+
? `<td><a href="#${featureAnchorId(bo.feature)}">${escapeHtml(bo.feature)}</a></td>`
|
|
365
|
+
: '';
|
|
366
|
+
return `
|
|
367
|
+
<tr>
|
|
368
|
+
<td>${bo.bo_id}</td>
|
|
369
|
+
<td>${escapeHtml(bo.objective)}${bo.metric ? `<div class="sub">${escapeHtml(bo.metric)}</div>` : ''}</td>
|
|
370
|
+
${featureCell}
|
|
371
|
+
<td>${ucCell}</td>
|
|
372
|
+
<td>${badge(bo.status, 'task')}</td>
|
|
373
|
+
<td>${progressCell}</td>
|
|
374
|
+
</tr>`;
|
|
375
|
+
}).join('');
|
|
376
|
+
const featureHeader = opts.showFeature ? '<th>Feature</th>' : '';
|
|
377
|
+
return `
|
|
378
|
+
<table><thead><tr><th>BO</th><th>Objective</th>${featureHeader}<th>Use Cases</th><th>Status</th><th>Progress</th></tr></thead><tbody>${rows}</tbody></table>`;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
function renderBusinessObjectivesOverview(businessObjectives) {
|
|
382
|
+
if (!businessObjectives || businessObjectives.length === 0) return '';
|
|
383
|
+
return `
|
|
384
|
+
<div class="card card-wide" style="margin-bottom:1.5rem">
|
|
385
|
+
<h2>Business Objectives</h2>
|
|
386
|
+
<div class="sub" style="margin-bottom:.5rem">Rolled up from each feature's brd.md (§2 Business Objectives → §5 Serves BO) through srd.md and tasks.md — which use cases implement each objective, and how much of that work is done.</div>
|
|
387
|
+
${renderBusinessObjectives(businessObjectives, {showFeature: true})}
|
|
388
|
+
</div>`;
|
|
389
|
+
}
|
|
390
|
+
|
|
353
391
|
function linkPill(kind, link) {
|
|
354
392
|
if (!link) return '';
|
|
355
393
|
if (link.error) return `<span class="pill pill-bad" title="${escapeHtml(link.error)}">${kind} ⚠</span>`;
|
|
@@ -673,6 +711,7 @@ function renderFeature(f, project) {
|
|
|
673
711
|
<div class="grid feature-grid">
|
|
674
712
|
<div class="card card-wide"><h2>Full Pipeline</h2>${renderPipelineFlow(f, project)}</div>
|
|
675
713
|
<div class="card card-wide"><h2>Documents</h2>${renderDocs(f.docs, f.current_stage, f.name, local.confluence, local.jira_review)}</div>
|
|
714
|
+
<div class="card card-wide"><h2>Business Objectives</h2>${renderBusinessObjectives(f.business_objectives)}</div>
|
|
676
715
|
<div class="card"><h2>Tasks</h2>${renderTasks(f.tasks)}</div>
|
|
677
716
|
<div class="card"><h2>Token Usage</h2>${renderTokenUsage(f.token_usage)}</div>
|
|
678
717
|
<div class="card"><h2>Jira Export</h2>${renderJiraExport(local.jira, exportEntry)}</div>
|
|
@@ -712,6 +751,7 @@ function render() {
|
|
|
712
751
|
const data = lastData;
|
|
713
752
|
document.getElementById('generated-at').textContent = 'Generated ' + data.generated_at;
|
|
714
753
|
const overview = renderFeatureOverview(data.features);
|
|
754
|
+
const boOverview = renderBusinessObjectivesOverview(data.business_objectives);
|
|
715
755
|
const features = data.features.length
|
|
716
756
|
? data.features.map(f => renderFeature(f, data.project)).join('')
|
|
717
757
|
: '<div class="empty">No features under .specify/features/ yet — run <code>/specify</code> (or <code>sdd specify</code>) to create your first one.</div>';
|
|
@@ -737,7 +777,7 @@ function render() {
|
|
|
737
777
|
};
|
|
738
778
|
}
|
|
739
779
|
|
|
740
|
-
root.innerHTML = renderProject(data.project, data.constitution) + overview + features;
|
|
780
|
+
root.innerHTML = renderProject(data.project, data.constitution) + overview + boOverview + features;
|
|
741
781
|
|
|
742
782
|
if (focus) {
|
|
743
783
|
const selector = `.${focus.cls}[data-feature="${CSS.escape(focus.feature)}"][data-doc="${CSS.escape(focus.doc)}"]`;
|
|
@@ -3007,6 +3007,219 @@ MIGRATIONS = [
|
|
|
3007
3007
|
],
|
|
3008
3008
|
"migrate": lambda m: {**m, "sdd_version": "2.7.77"},
|
|
3009
3009
|
},
|
|
3010
|
+
{
|
|
3011
|
+
"from": "2.7.77",
|
|
3012
|
+
"to": "2.7.78",
|
|
3013
|
+
"description": "Fix: sdd-universal missing UI templates, brd-template.md drift, design-template.md numbering gap -- template quality review found real gaps beyond docs/CI",
|
|
3014
|
+
"notes": [
|
|
3015
|
+
"sdd-universal was missing ux-flow-template.md, "
|
|
3016
|
+
"screen-spec-template.md, component-spec-template.md, and "
|
|
3017
|
+
"component-library-template.md even though its own "
|
|
3018
|
+
"specify-doc.prompt.md documents /specify-doc "
|
|
3019
|
+
"component-spec|ux-flow|screen-spec as valid commands and "
|
|
3020
|
+
"reads .specify/templates/{doc}-template.md directly -- a "
|
|
3021
|
+
"broken reference for exactly the mobile/frontend project "
|
|
3022
|
+
"types sdd-universal auto-detects. Added all four",
|
|
3023
|
+
"ux-flow-template.md, screen-spec-template.md, and "
|
|
3024
|
+
"component-spec-template.md had no ID scheme or Version "
|
|
3025
|
+
"History table, unlike every other template in the system. "
|
|
3026
|
+
"Added FLOW/ERR/EDGE-NNN, SCR-NNN, and COMP-NNN respectively, "
|
|
3027
|
+
"plus Version History to all three. Enrolled into "
|
|
3028
|
+
"_shared/full/ since they were already byte-identical across "
|
|
3029
|
+
"every pack that ships them",
|
|
3030
|
+
"brd-template.md had drifted uncoordinated: sdd-universal's "
|
|
3031
|
+
"copy had a Section 9 Investment Summary and domain-aware "
|
|
3032
|
+
"regulation pre-seeding (PCI/HIPAA/GDPR) the other four packs "
|
|
3033
|
+
"(byte-identical to each other) never received. Unlike "
|
|
3034
|
+
"api-spec/data-model/security-design/runbook -- which "
|
|
3035
|
+
"legitimately vary by project type -- BRD content has no "
|
|
3036
|
+
"such reason to differ. Enrolled into _shared/full/ using "
|
|
3037
|
+
"sdd-universal's fuller version as canonical",
|
|
3038
|
+
"design-template.md Section 3 skipped from 3.2 to 3.5 with "
|
|
3039
|
+
"no 3.3/3.4 content anywhere in the file -- renumbered to "
|
|
3040
|
+
"3.3",
|
|
3041
|
+
"Known gaps NOT fixed in this pass: sdd-universal's "
|
|
3042
|
+
"specify-doc.prompt.md has no project-type branching for "
|
|
3043
|
+
"which flavor of data-model/security-design template to use "
|
|
3044
|
+
"(a detected frontend/mobile project would get the "
|
|
3045
|
+
"DB-schema/server-side flavor); sdd-universal's api-spec, "
|
|
3046
|
+
"data-model, runbook, and openapi templates are each missing "
|
|
3047
|
+
"content sdd-backend-service's same-flavor copies already "
|
|
3048
|
+
"have; security-design-template.md has a structural (not "
|
|
3049
|
+
"content) mismatch between backend and universal",
|
|
3050
|
+
"This migration only bumps sdd_version -- no manifest.yml "
|
|
3051
|
+
"field changes for any pack",
|
|
3052
|
+
],
|
|
3053
|
+
"migrate": lambda m: {**m, "sdd_version": "2.7.78"},
|
|
3054
|
+
},
|
|
3055
|
+
{
|
|
3056
|
+
"from": "2.7.78",
|
|
3057
|
+
"to": "2.7.79",
|
|
3058
|
+
"description": "Fix: runbook-template.md missing living-doc framing in 4 packs, security-design/data-model/api-spec inconsistencies across packs, release-template.md pilot-scope broken rollback reference, sdd-universal had no project-type flavor branching for data-model/security/runbook",
|
|
3059
|
+
"notes": [
|
|
3060
|
+
"runbook-template.md was missing its 'Living artifact' framing "
|
|
3061
|
+
"paragraph and used '# Feature: {Feature Name}' instead of "
|
|
3062
|
+
"'# Service:'/'# App:' in frontend-spa, mobile, fullstack, and "
|
|
3063
|
+
"sdd-universal (only sdd-backend-service had it correct) -- an "
|
|
3064
|
+
"agent following the template literally would treat the "
|
|
3065
|
+
"runbook as a fresh per-feature doc instead of extending the "
|
|
3066
|
+
"living one, silently dropping a prior feature's additions. "
|
|
3067
|
+
"Fixed all four",
|
|
3068
|
+
"security-design-template.md was inconsistent across packs: "
|
|
3069
|
+
"only sdd-backend-service had a Version History table; only "
|
|
3070
|
+
"sdd-universal had the CVSS scoring column and the 2-row "
|
|
3071
|
+
"Security Officer/Tech Lead Approvals table. Reconciled all "
|
|
3072
|
+
"five packs to have all three",
|
|
3073
|
+
"data-model-template.md and api-spec-template.md were missing "
|
|
3074
|
+
"Version History tables in sdd-universal (both docs) and "
|
|
3075
|
+
"sdd-fullstack (api-spec only). Added. Also fixed "
|
|
3076
|
+
"sdd-universal's api-spec-template.md References row, which "
|
|
3077
|
+
"cited 'arch.summary.md ... ports/adapters' -- leftover text "
|
|
3078
|
+
"that didn't match how api-spec.md is actually fed (per "
|
|
3079
|
+
"plan-design.prompt.md Section 3: design.summary.md, which "
|
|
3080
|
+
"feature added/changed which endpoints)",
|
|
3081
|
+
"release-template.md Section 7 Rollback Plan pointed to "
|
|
3082
|
+
"docs/runbook/local-setup.md in sdd-backend-service, "
|
|
3083
|
+
"frontend-spa, mobile, and fullstack even at pilot scope, "
|
|
3084
|
+
"where the runbook is never generated -- a broken reference. "
|
|
3085
|
+
"Backported sdd-universal's pilot-scope fallback rollback "
|
|
3086
|
+
"table (already correct there) to all four packs, plus two "
|
|
3087
|
+
"extra Post-Deploy Smoke Test monitoring rows sdd-universal "
|
|
3088
|
+
"already had",
|
|
3089
|
+
"sdd-universal's specify-doc.prompt.md read one single "
|
|
3090
|
+
"template flavor for data-model and security-design "
|
|
3091
|
+
"regardless of detected project_type -- a frontend-spa or "
|
|
3092
|
+
"mobile project would get the DB-schema/server-side flavor "
|
|
3093
|
+
"instead of state/storage-model or local-cache-model content. "
|
|
3094
|
+
"Added project_type branching (frontend-spa/desktop -> "
|
|
3095
|
+
"*-template-frontend.md, mobile -> *-template-mobile.md, "
|
|
3096
|
+
"else -> default) to the shared specify-doc.prompt.md source "
|
|
3097
|
+
"(safe no-op for the other four packs, which have no "
|
|
3098
|
+
"project_type field) and shipped the new frontend/mobile "
|
|
3099
|
+
"flavor template files for sdd-universal. Same fix applied to "
|
|
3100
|
+
"runbook generation in implement.prompt.md",
|
|
3101
|
+
"Verified: sync-blocks.sh clean, cli-python pytest 648/648, "
|
|
3102
|
+
"assert-output.sh 33/33 on both worked examples, setup smoke "
|
|
3103
|
+
"tests 15/15",
|
|
3104
|
+
],
|
|
3105
|
+
"migrate": lambda m: {**m, "sdd_version": "2.7.79"},
|
|
3106
|
+
},
|
|
3107
|
+
{
|
|
3108
|
+
"from": "2.7.79",
|
|
3109
|
+
"to": "2.7.80",
|
|
3110
|
+
"description": "Fix: data-model-template.md missing Version History in frontend-spa/mobile/fullstack, security-design-template.md STRIDE column wording inconsistency in sdd-universal -- found while verifying the v2.7.79 fix batch's own consistency",
|
|
3111
|
+
"notes": [
|
|
3112
|
+
"data-model-template.md was missing '## Version History' in "
|
|
3113
|
+
"sdd-frontend-spa, sdd-mobile, and sdd-fullstack -- only "
|
|
3114
|
+
"sdd-backend-service and (as of 2.7.79) sdd-universal had it. "
|
|
3115
|
+
"Found because sdd-universal's new data-model-template-frontend.md/"
|
|
3116
|
+
"-mobile.md flavor files (copied verbatim from those packs' own "
|
|
3117
|
+
"templates) diffed non-empty against their source -- the "
|
|
3118
|
+
"source packs were the ones missing content, not the copies. "
|
|
3119
|
+
"Added Version History to all three",
|
|
3120
|
+
"security-design-template.md's STRIDE threat table column was "
|
|
3121
|
+
"'Threat (STRIDE)' in sdd-universal but 'Threat (STRIDE "
|
|
3122
|
+
"category)' in the other four packs -- pre-existing wording "
|
|
3123
|
+
"drift, not something the 2.7.79 CVSS-column fix introduced. "
|
|
3124
|
+
"Normalized sdd-universal to match",
|
|
3125
|
+
"Verified: sync-blocks.sh clean, cli-python pytest 648/648, "
|
|
3126
|
+
"assert-output.sh 33/33",
|
|
3127
|
+
],
|
|
3128
|
+
"migrate": lambda m: {**m, "sdd_version": "2.7.80"},
|
|
3129
|
+
},
|
|
3130
|
+
{
|
|
3131
|
+
"from": "2.7.80",
|
|
3132
|
+
"to": "2.7.81",
|
|
3133
|
+
"description": "Fix: sdd-micro/setup.sh had zero test coverage -- test-setup.sh only ever tested sdd-universal's setup.sh (hardcoded PACK_DIR); no manifest.yml field changes for any pack, including sdd-micro (this is a CI/test-harness fix, not a pack-content change)",
|
|
3134
|
+
"notes": [
|
|
3135
|
+
"Found while reviewing sdd-micro end-to-end: "
|
|
3136
|
+
"packs/_shared/tests/test-setup.sh's own header says 'Smoke "
|
|
3137
|
+
"tests for sdd-universal/setup.sh' and hardcodes "
|
|
3138
|
+
"PACK_DIR=packs/sdd-universal -- sdd-micro/setup.sh (a "
|
|
3139
|
+
"materially different script: --project/--feature only, no "
|
|
3140
|
+
"--type/--scope, its own non-interactive default fallback to "
|
|
3141
|
+
"'untitled-project'/'main') was never exercised by CI despite "
|
|
3142
|
+
"root CLAUDE.md describing the smoke-test suite as covering "
|
|
3143
|
+
"'injection-class names, all project types, and "
|
|
3144
|
+
"non-interactive execution' in a way that read as a blanket "
|
|
3145
|
+
"guarantee",
|
|
3146
|
+
"Added packs/_shared/tests/test-setup-micro.sh, mirroring "
|
|
3147
|
+
"test-setup.sh's ok()/nok() structure and covering the same "
|
|
3148
|
+
"injection classes (quotes, backslash, ampersand, slash, "
|
|
3149
|
+
"unicode) plus two cases specific to this script: the "
|
|
3150
|
+
"no-args non-interactive default path, and the 'unknown "
|
|
3151
|
+
"option' rejection (sdd-micro's setup.sh has no --type flag, "
|
|
3152
|
+
"unlike sdd-universal's)",
|
|
3153
|
+
"Wired into .github/workflows/ci.yml's existing "
|
|
3154
|
+
"setup-smoke-tests job as a second step, and documented in "
|
|
3155
|
+
"root CLAUDE.md's Testing Setup Scripts section",
|
|
3156
|
+
"Verified the new test actually has teeth: temporarily "
|
|
3157
|
+
"disabled sdd-micro/setup.sh's double-quote validation guard, "
|
|
3158
|
+
"confirmed the 2 double-quote-rejection cases failed as "
|
|
3159
|
+
"expected (exit 1), then restored the original file (git "
|
|
3160
|
+
"diff clean) and re-ran clean (12/12)",
|
|
3161
|
+
"Deliberately kept sdd-micro's own manifest.yml sdd_version "
|
|
3162
|
+
"untouched (still 2.7.41) -- this fix only adds test/CI "
|
|
3163
|
+
"infrastructure in this repo, it does not change any file "
|
|
3164
|
+
"sdd-micro itself ships to a user's project via `sdd init "
|
|
3165
|
+
"--pack sdd-micro`",
|
|
3166
|
+
],
|
|
3167
|
+
"migrate": lambda m: {**m, "sdd_version": "2.7.81"},
|
|
3168
|
+
},
|
|
3169
|
+
{
|
|
3170
|
+
"from": "2.7.81",
|
|
3171
|
+
"to": "2.7.82",
|
|
3172
|
+
"description": "Feature: Business Objectives traceability + dashboard rollup -- brd.md's Business Objectives (§2) and Business Requirements (§5) were previously unlinked siblings; adds a 'Serves BO' column to §5 and rolls BO -> BR -> FR -> TASK up into a per-feature and cross-feature Business Objectives view in `sdd dashboard`",
|
|
3173
|
+
"notes": [
|
|
3174
|
+
"Added 'Serves BO' column to brd-template.md's §5 Business "
|
|
3175
|
+
"Requirements table (all 5 non-micro packs) -- every BR-NNN "
|
|
3176
|
+
"must now cite which BO-NNN from §2 it serves. Updated "
|
|
3177
|
+
"specify-brd.prompt.md with fill instructions",
|
|
3178
|
+
"Added status.py parsers: _parse_brd_bo (brd.md §2/§5, "
|
|
3179
|
+
"tolerant of 3- or 4-column Business Objectives tables and "
|
|
3180
|
+
"legacy 'Satisfies' column headers), _parse_uc_traces "
|
|
3181
|
+
"(use-cases.md Use Case Index table, falls back to scanning "
|
|
3182
|
+
"narrative '### UC-NNN' sections' '**Trace:**'/'**BR "
|
|
3183
|
+
"Traces:**' lines when no Index table exists), _parse_srd_fr "
|
|
3184
|
+
"(srd.md Functional Requirements table, tolerant of the "
|
|
3185
|
+
"5-column canonical shape and a 4-column 'Satisfies' "
|
|
3186
|
+
"variant, plus §4 Use Case Coverage as a UC-link fallback)",
|
|
3187
|
+
"Added build_bo_rollup(): chains BO -> BR (brd.md 'Serves "
|
|
3188
|
+
"BO') -> FR (srd.md 'Source'/'Satisfies', the reliable "
|
|
3189
|
+
"bridge since use-cases.md's FR Traces column is only "
|
|
3190
|
+
"backfilled by a manual /specify-srd re-run and is often "
|
|
3191
|
+
"skipped in practice) -> TASK (tasks.md 'Satisfies:' field + "
|
|
3192
|
+
"completion status). UC-NNN is gathered from both "
|
|
3193
|
+
"use-cases.md and srd.md for display, but status/percent-done "
|
|
3194
|
+
"is computed from the BR->FR->TASK bridge only",
|
|
3195
|
+
"Wired into build_feature_status() (per-feature "
|
|
3196
|
+
"'business_objectives' key) and build_project_status() (flat "
|
|
3197
|
+
"cross-feature 'business_objectives' list, each row tagged "
|
|
3198
|
+
"with its feature name -- BO-NNN numbering is local to each "
|
|
3199
|
+
"feature's brd.md, same as the existing Actor Registry "
|
|
3200
|
+
"pattern)",
|
|
3201
|
+
"Added a 'Business Objectives' card to `sdd dashboard`: a "
|
|
3202
|
+
"cross-feature rollup card (BO, Objective, Feature, Use "
|
|
3203
|
+
"Cases, Status, Progress) shown above the per-feature blocks, "
|
|
3204
|
+
"plus a per-feature card in each feature's block",
|
|
3205
|
+
"Status computed by task completion percentage (0 done -> "
|
|
3206
|
+
"Not Started, some done or in-progress -> In Progress, all "
|
|
3207
|
+
"done -> Done), not release.md's BO closure field -- picked "
|
|
3208
|
+
"so the dashboard reflects live task state rather than a "
|
|
3209
|
+
"field only updated at /release time",
|
|
3210
|
+
"Verified end-to-end against examples/todo-api's real "
|
|
3211
|
+
"brd.md/use-cases.md/srd.md/tasks.md (which deviate from the "
|
|
3212
|
+
"raw templates in exactly the ways the tolerant parsing "
|
|
3213
|
+
"above accounts for) via the dashboard's live HTTP server, "
|
|
3214
|
+
"screenshotted in both light and dark mode",
|
|
3215
|
+
"Added 20 pytest cases covering 3-vs-4-column BO tables, "
|
|
3216
|
+
"legacy 'Satisfies' headers, unfilled template placeholders, "
|
|
3217
|
+
"the Use Case Index fallback, orphaned BRs, and the flattened "
|
|
3218
|
+
"cross-feature rollup",
|
|
3219
|
+
"Verified: sync-blocks.sh clean, cli-python pytest 664/664",
|
|
3220
|
+
],
|
|
3221
|
+
"migrate": lambda m: {**m, "sdd_version": "2.7.82"},
|
|
3222
|
+
},
|
|
3010
3223
|
]
|
|
3011
3224
|
|
|
3012
3225
|
|
|
@@ -32,6 +32,11 @@ Generate `brd.md` for the current feature:
|
|
|
32
32
|
identifiers are assigned when actors are defined. Omit roles not present in `roles.yml`.
|
|
33
33
|
- Every business goal: **BG-NNN**
|
|
34
34
|
- Every non-functional requirement: **NFR-NNN** — must include a measurable target (e.g. "< 200ms p99", "99.9% uptime")
|
|
35
|
+
- **§5 Business Requirements — Serves BO column:** every `BR-NNN` must cite
|
|
36
|
+
which `BO-NNN` from §2 it serves. If a requirement doesn't trace to any
|
|
37
|
+
stated objective, either it's scope creep (flag it, don't silently include
|
|
38
|
+
it) or §2 is missing an objective — surface this rather than leaving the
|
|
39
|
+
column blank. A BR may serve more than one BO; list all that apply.
|
|
35
40
|
- Marker discipline:
|
|
36
41
|
- `[ASSUMPTION-NNN: {what}]` — safe default applied; needs sign-off
|
|
37
42
|
- `[NEEDS CLARIFICATION-NNN: {question}]` — no safe default; human decision
|
|
@@ -27,7 +27,27 @@ If no argument given — list the remaining ungenerated documents for this scope
|
|
|
27
27
|
- `.specify/features/{manifest.project.feature}/brd.summary.md` (or `brd.md`)
|
|
28
28
|
- `.specify/features/{manifest.project.feature}/use-cases.summary.md` (or `use-cases.md`)
|
|
29
29
|
- `.specify/features/{manifest.project.feature}/srd.summary.md` (or `srd.md`)
|
|
30
|
-
- Read `.specify/templates/{doc}-template.md`
|
|
30
|
+
- Read `.specify/templates/{doc}-template.md` — **except for `data-model`
|
|
31
|
+
and `security`/`security-design` when `manifest.yml` has a
|
|
32
|
+
`project_type` field (sdd-universal only — the other packs have no
|
|
33
|
+
such field and always use their own single template as before):
|
|
34
|
+
content shape for these two living docs differs by target
|
|
35
|
+
(server-side schema vs. client-side state/storage vs. local device
|
|
36
|
+
cache), so branch by `project_type` before reading:**
|
|
37
|
+
- `project_type` = `frontend-spa` or `desktop` → read
|
|
38
|
+
`.specify/templates/{doc}-template-frontend.md`
|
|
39
|
+
- `project_type` = `mobile` → read
|
|
40
|
+
`.specify/templates/{doc}-template-mobile.md`
|
|
41
|
+
- any other `project_type` (`backend-service`, `fullstack`,
|
|
42
|
+
`serverless`, `cli`, `library`, `iac`, `data-ml`, ...), or no
|
|
43
|
+
`project_type` field at all → read
|
|
44
|
+
`.specify/templates/{doc}-template.md` (the default/server-side
|
|
45
|
+
flavor) as before
|
|
46
|
+
- `fullstack` intentionally uses the default (server-side) flavor for
|
|
47
|
+
both docs — a fullstack service still has one server-side schema and
|
|
48
|
+
one server-side security baseline; frontend-specific state/XSS
|
|
49
|
+
concerns belong in that project's own `component-spec.md`/`ux-flow.md`
|
|
50
|
+
if generated, not in these two living documents
|
|
31
51
|
|
|
32
52
|
## Verify Gate
|
|
33
53
|
|
|
@@ -132,7 +152,7 @@ an existing shared artifact" instead of "a requirement changed."
|
|
|
132
152
|
|
|
133
153
|
**Exception — `component-spec`'s "Shared Components Used" section is
|
|
134
154
|
living, app-level** (packs with a `component-spec-template.md`: frontend-spa,
|
|
135
|
-
fullstack). The rest of `component-spec.md` (component hierarchy, this
|
|
155
|
+
fullstack, sdd-universal). The rest of `component-spec.md` (component hierarchy, this
|
|
136
156
|
feature's own page/container components) stays per-feature as above, but
|
|
137
157
|
any component this feature intends to be **reused by other features**
|
|
138
158
|
(a shared/design-system component, not a one-off page component) is
|
|
@@ -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.82" # set by sdd init; used by sdd upgrade
|
|
47
47
|
ai_tool: "" # set by sdd init: claude-code | copilot | cursor | windsurf | other
|
|
@@ -49,10 +49,15 @@ Out of Scope:
|
|
|
49
49
|
|
|
50
50
|
## 5. Business Requirements
|
|
51
51
|
|
|
52
|
-
| ID | Requirement | Priority |
|
|
53
|
-
|
|
54
|
-
| BR-{NNN} | {description} | Must Have |
|
|
55
|
-
| BR-{NNN} | {description} | Should Have |
|
|
52
|
+
| ID | Requirement | Priority | Serves BO |
|
|
53
|
+
|---|---|---|---|
|
|
54
|
+
| BR-{NNN} | {description} | Must Have | BO-{NNN} |
|
|
55
|
+
| BR-{NNN} | {description} | Should Have | BO-{NNN} |
|
|
56
|
+
|
|
57
|
+
> **Serves BO** — every BR-NNN must trace to at least one BO-{NNN} from §2. This is
|
|
58
|
+
> what lets a later rollup (across features) answer "what's actually delivering on
|
|
59
|
+
> this business objective" — a BR with no BO it serves is either scope creep or a
|
|
60
|
+
> missed objective in §2; resolve one or the other before /validate.
|
|
56
61
|
|
|
57
62
|
## 6. Regulatory and Compliance
|
|
58
63
|
|
|
@@ -216,7 +216,7 @@ per-feature, as this isn't something the component itself owns:
|
|
|
216
216
|
|
|
217
217
|
{Repeat block per endpoint}
|
|
218
218
|
|
|
219
|
-
### 3.
|
|
219
|
+
### 3.3 NFR Budget Allocation
|
|
220
220
|
|
|
221
221
|
> Every measurable NFR target from srd.md is split across the components on
|
|
222
222
|
> its critical path — so "P99 ≤ 500ms" becomes budgets a developer can test
|
|
@@ -78,6 +78,8 @@ Choose deployment strategy based on NFR requirements:
|
|
|
78
78
|
| {key happy-path endpoint} | {expected response} | [ ] |
|
|
79
79
|
| Logs show no ERROR within {N} min | true | [ ] |
|
|
80
80
|
| {key NFR — e.g. P99 latency} | within target (NFR-{NNN}) | [ ] |
|
|
81
|
+
| No new P1/P2 alerts in monitoring system within {N} min of deploy | Zero new alerts | [ ] |
|
|
82
|
+
| Error rate in APM/dashboard | < 1% baseline | [ ] |
|
|
81
83
|
|
|
82
84
|
---
|
|
83
85
|
|
|
@@ -109,7 +111,19 @@ Choose deployment strategy based on NFR requirements:
|
|
|
109
111
|
|
|
110
112
|
## 7. Rollback Plan
|
|
111
113
|
|
|
112
|
-
|
|
114
|
+
> **MVP+ scope:** Full rollback detail is in `docs/runbook/local-setup.md §6`. Summary below for quick reference.
|
|
115
|
+
>
|
|
116
|
+
> **Pilot scope:** Runbook not generated at pilot scope. Document your rollback steps here before proceeding to §5 Go-Live Gate. Minimum required:
|
|
117
|
+
|
|
118
|
+
| Step | Action | Owner | Time Estimate |
|
|
119
|
+
|---|---|---|---|
|
|
120
|
+
| 1 | Revert application to previous image / deployment | {devops_sre} | {N} min |
|
|
121
|
+
| 2 | Roll back DB migrations if any were applied (run V{NNN}__down.sql) | {devops_sre} | {N} min |
|
|
122
|
+
| 3 | Verify health endpoint returns 200 on previous version | {devops_sre} | {N} min |
|
|
123
|
+
| 4 | Notify stakeholders — rollback complete | {tech_lead} | {N} min |
|
|
124
|
+
|
|
125
|
+
**Rollback decision owner:** Tech Lead — triggers rollback if smoke test fails or P1 alert fires within {N} min of go-live.
|
|
126
|
+
**Maximum acceptable rollback time:** {N} minutes (from decision to stable previous state).
|
|
113
127
|
|
|
114
128
|
---
|
|
115
129
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
|
|
62
62
|
## 3. Full — Threat Model (STRIDE)
|
|
63
63
|
|
|
64
|
-
| ID | Component | Threat (STRIDE) | Description | Mitigation | CVSS (qualitative) | Residual Risk |
|
|
64
|
+
| ID | Component | Threat (STRIDE category) | Description | Mitigation | CVSS (qualitative) | Residual Risk |
|
|
65
65
|
|---|---|---|---|---|---|---|
|
|
66
66
|
| THR-{NNN} | {component} | Spoofing | {description} | {mitigation} | {Critical 9-10 / High 7-8.9 / Med 4-6.9 / Low 0-3.9 or "QA"} | Low/Med/High |
|
|
67
67
|
| THR-{NNN} | {component} | Tampering | {description} | {mitigation} | {CVSS} | Low/Med/High |
|
|
@@ -115,3 +115,9 @@
|
|
|
115
115
|
|---|---|---|---|
|
|
116
116
|
| Security Officer (accountable — controls adequacy) | | Pending | |
|
|
117
117
|
| Tech Lead (consulted — implementation feasibility) | | Pending | |
|
|
118
|
+
|
|
119
|
+
## Version History
|
|
120
|
+
|
|
121
|
+
| Version | Date | Feature | Change | CR |
|
|
122
|
+
|---|---|---|---|---|
|
|
123
|
+
| 1.0 | {date} | {feature that first created this document} | Initial security baseline | — |
|
{sddflow-2.7.77 → sddflow-2.7.82}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-brd.prompt.md
RENAMED
|
@@ -32,6 +32,11 @@ Generate `brd.md` for the current feature:
|
|
|
32
32
|
identifiers are assigned when actors are defined. Omit roles not present in `roles.yml`.
|
|
33
33
|
- Every business goal: **BG-NNN**
|
|
34
34
|
- Every non-functional requirement: **NFR-NNN** — must include a measurable target (e.g. "< 200ms p99", "99.9% uptime")
|
|
35
|
+
- **§5 Business Requirements — Serves BO column:** every `BR-NNN` must cite
|
|
36
|
+
which `BO-NNN` from §2 it serves. If a requirement doesn't trace to any
|
|
37
|
+
stated objective, either it's scope creep (flag it, don't silently include
|
|
38
|
+
it) or §2 is missing an objective — surface this rather than leaving the
|
|
39
|
+
column blank. A BR may serve more than one BO; list all that apply.
|
|
35
40
|
- Marker discipline:
|
|
36
41
|
- `[ASSUMPTION-NNN: {what}]` — safe default applied; needs sign-off
|
|
37
42
|
- `[NEEDS CLARIFICATION-NNN: {question}]` — no safe default; human decision
|
|
@@ -27,7 +27,27 @@ If no argument given — list the remaining ungenerated documents for this scope
|
|
|
27
27
|
- `.specify/features/{manifest.project.feature}/brd.summary.md` (or `brd.md`)
|
|
28
28
|
- `.specify/features/{manifest.project.feature}/use-cases.summary.md` (or `use-cases.md`)
|
|
29
29
|
- `.specify/features/{manifest.project.feature}/srd.summary.md` (or `srd.md`)
|
|
30
|
-
- Read `.specify/templates/{doc}-template.md`
|
|
30
|
+
- Read `.specify/templates/{doc}-template.md` — **except for `data-model`
|
|
31
|
+
and `security`/`security-design` when `manifest.yml` has a
|
|
32
|
+
`project_type` field (sdd-universal only — the other packs have no
|
|
33
|
+
such field and always use their own single template as before):
|
|
34
|
+
content shape for these two living docs differs by target
|
|
35
|
+
(server-side schema vs. client-side state/storage vs. local device
|
|
36
|
+
cache), so branch by `project_type` before reading:**
|
|
37
|
+
- `project_type` = `frontend-spa` or `desktop` → read
|
|
38
|
+
`.specify/templates/{doc}-template-frontend.md`
|
|
39
|
+
- `project_type` = `mobile` → read
|
|
40
|
+
`.specify/templates/{doc}-template-mobile.md`
|
|
41
|
+
- any other `project_type` (`backend-service`, `fullstack`,
|
|
42
|
+
`serverless`, `cli`, `library`, `iac`, `data-ml`, ...), or no
|
|
43
|
+
`project_type` field at all → read
|
|
44
|
+
`.specify/templates/{doc}-template.md` (the default/server-side
|
|
45
|
+
flavor) as before
|
|
46
|
+
- `fullstack` intentionally uses the default (server-side) flavor for
|
|
47
|
+
both docs — a fullstack service still has one server-side schema and
|
|
48
|
+
one server-side security baseline; frontend-specific state/XSS
|
|
49
|
+
concerns belong in that project's own `component-spec.md`/`ux-flow.md`
|
|
50
|
+
if generated, not in these two living documents
|
|
31
51
|
|
|
32
52
|
## Verify Gate
|
|
33
53
|
|
|
@@ -132,7 +152,7 @@ an existing shared artifact" instead of "a requirement changed."
|
|
|
132
152
|
|
|
133
153
|
**Exception — `component-spec`'s "Shared Components Used" section is
|
|
134
154
|
living, app-level** (packs with a `component-spec-template.md`: frontend-spa,
|
|
135
|
-
fullstack). The rest of `component-spec.md` (component hierarchy, this
|
|
155
|
+
fullstack, sdd-universal). The rest of `component-spec.md` (component hierarchy, this
|
|
136
156
|
feature's own page/container components) stays per-feature as above, but
|
|
137
157
|
any component this feature intends to be **reused by other features**
|
|
138
158
|
(a shared/design-system component, not a one-off page component) is
|
|
@@ -32,5 +32,5 @@ testing_style: "paired"
|
|
|
32
32
|
# If using sdd-universal instead, set project_type: "frontend-spa" in its manifest.yml
|
|
33
33
|
# project_type: "frontend-spa"
|
|
34
34
|
|
|
35
|
-
sdd_version: "2.7.
|
|
35
|
+
sdd_version: "2.7.82" # set by sdd init; used by sdd upgrade
|
|
36
36
|
ai_tool: "" # set by sdd init: claude-code | copilot | cursor | windsurf | other
|
|
@@ -49,16 +49,25 @@ Out of Scope:
|
|
|
49
49
|
|
|
50
50
|
## 5. Business Requirements
|
|
51
51
|
|
|
52
|
-
| ID | Requirement | Priority |
|
|
53
|
-
|
|
54
|
-
| BR-{NNN} | {description} | Must Have |
|
|
55
|
-
| BR-{NNN} | {description} | Should Have |
|
|
52
|
+
| ID | Requirement | Priority | Serves BO |
|
|
53
|
+
|---|---|---|---|
|
|
54
|
+
| BR-{NNN} | {description} | Must Have | BO-{NNN} |
|
|
55
|
+
| BR-{NNN} | {description} | Should Have | BO-{NNN} |
|
|
56
|
+
|
|
57
|
+
> **Serves BO** — every BR-NNN must trace to at least one BO-{NNN} from §2. This is
|
|
58
|
+
> what lets a later rollup (across features) answer "what's actually delivering on
|
|
59
|
+
> this business objective" — a BR with no BO it serves is either scope creep or a
|
|
60
|
+
> missed objective in §2; resolve one or the other before /validate.
|
|
56
61
|
|
|
57
62
|
## 6. Regulatory and Compliance
|
|
58
63
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
> **Domain-aware seeding:** Agent pre-populates known regulations from domain signals in `context.md`.
|
|
65
|
+
> Common signals: "payment / card / PCI" → PCI-DSS | "health / patient / PHI" → HIPAA | "EU / GDPR / personal data" → GDPR | "financial / SOX" → SOX | "government / FedRAMP" → FedRAMP.
|
|
66
|
+
> Rows without a confirmed regulation are marked `[NEEDS CLARIFICATION: which regulation applies to {area}?]` — these block /validate.
|
|
67
|
+
|
|
68
|
+
| Regulation | Requirement | Design Impact | Confirmed? |
|
|
69
|
+
|---|---|---|---|
|
|
70
|
+
| {regulation — pre-seeded from domain or [NEEDS CLARIFICATION]} | {requirement} | {design impact} | [ ] |
|
|
62
71
|
|
|
63
72
|
## 7. Assumptions
|
|
64
73
|
|
|
@@ -75,11 +84,30 @@ Out of Scope:
|
|
|
75
84
|
|
|
76
85
|
---
|
|
77
86
|
|
|
87
|
+
## 9. Investment Summary
|
|
88
|
+
|
|
89
|
+
> **Purpose:** Gives the executive sponsor the cost and return context needed to sign off on BRD scope and priority.
|
|
90
|
+
> Agent extracts from `context.md` if present; otherwise marks items `[NEEDS CLARIFICATION]`.
|
|
91
|
+
|
|
92
|
+
| Item | Value | Source / Notes |
|
|
93
|
+
|---|---|---|
|
|
94
|
+
| Delivery scope | {pilot / mvp / full} | manifest.yml |
|
|
95
|
+
| Build effort (T-shirt) | {S < 1 sprint / M 1–3 / L 3–6 / XL 6+} | Derived from analyze.md (filled after /analyze) |
|
|
96
|
+
| Estimated team cost | {currency amount or [NEEDS CLARIFICATION]} | {from context.md or business case at {link}} |
|
|
97
|
+
| Expected ROI / payback period | {e.g. 12-month payback / {N}× ROI or [NEEDS CLARIFICATION]} | {from context.md or business case} |
|
|
98
|
+
| Cost of inaction | {what happens if this is NOT built} | {from context.md problem statement} |
|
|
99
|
+
| Business case reference | {link / document title or N/A} | |
|
|
100
|
+
|
|
101
|
+
> If cost and ROI are commercially sensitive and not appropriate for this document, state: "Investment details are in the business case at {link} — not reproduced here."
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
78
105
|
## Approvals
|
|
79
106
|
|
|
80
107
|
| Role | Approver | Status | Date |
|
|
81
108
|
|---|---|---|---|
|
|
82
|
-
|
|
|
109
|
+
| Product Owner (accountable — business objectives sign-off) | | Pending | |
|
|
110
|
+
| Business Analyst (responsible — requirements accuracy) | | Pending | |
|
|
83
111
|
|
|
84
112
|
## Version History
|
|
85
113
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# Component Specification — {Feature Name}
|
|
2
|
+
> Version: 1.0 | Status: Draft | Date: {date} | Author: {author}
|
|
2
3
|
|
|
3
4
|
## References
|
|
4
5
|
| Source | Sections / IDs Used |
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
|
|
18
19
|
## Component Specs
|
|
19
20
|
|
|
20
|
-
### {ComponentName}
|
|
21
|
+
### COMP-{NNN}: {ComponentName}
|
|
21
22
|
| Property | Value |
|
|
22
23
|
|---|---|
|
|
23
24
|
| Type | Page / Container / Presentational |
|
|
@@ -48,7 +49,12 @@ this feature's hierarchy — see the living-doc-update shared block in
|
|
|
48
49
|
|---|---|---|---|
|
|
49
50
|
| {Reviewer — see this command's Review: gate in CLAUDE.md} | | Pending | |
|
|
50
51
|
|
|
52
|
+
## Version History
|
|
53
|
+
| Version | Date | Changed By | Summary of Changes | CHG-NNN |
|
|
54
|
+
|---|---|---|---|---|
|
|
55
|
+
| 1.0 | {date} | {author} | Initial draft | — |
|
|
56
|
+
|
|
51
57
|
## Summary
|
|
52
58
|
> Lines: {N} / {SUMMARY_MAX_LINES}
|
|
53
|
-
## Components — {list}
|
|
59
|
+
## Components — {list of COMP-NNN}
|
|
54
60
|
## State — {global vs local}
|