sddflow 2.7.59__tar.gz → 2.7.60__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.
Files changed (752) hide show
  1. {sddflow-2.7.59 → sddflow-2.7.60}/PKG-INFO +1 -1
  2. {sddflow-2.7.59 → sddflow-2.7.60}/pyproject.toml +1 -1
  3. sddflow-2.7.60/sdd/__init__.py +1 -0
  4. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/review.py +169 -29
  5. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/upgrade.py +38 -0
  6. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/clarify.prompt.md +11 -0
  7. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/manifest.yml +1 -1
  8. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/CLAUDE.md +9 -0
  9. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/HOW-TO-USE.md +10 -0
  10. {sddflow-2.7.59/sdd/packs/sdd-fullstack → sddflow-2.7.60/sdd/packs/sdd-frontend-spa}/.github/prompts/clarify.prompt.md +11 -0
  11. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/manifest.yml +1 -1
  12. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/CLAUDE.md +9 -0
  13. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/HOW-TO-USE.md +10 -0
  14. {sddflow-2.7.59/sdd/packs/sdd-frontend-spa → sddflow-2.7.60/sdd/packs/sdd-fullstack}/.github/prompts/clarify.prompt.md +11 -0
  15. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/manifest.yml +1 -1
  16. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/CLAUDE.md +9 -0
  17. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/HOW-TO-USE.md +10 -0
  18. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/clarify.prompt.md +11 -0
  19. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/manifest.yml +1 -1
  20. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/CLAUDE.md +9 -0
  21. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/HOW-TO-USE.md +10 -0
  22. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/clarify.prompt.md +11 -0
  23. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/manifest.yml +1 -1
  24. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/CLAUDE.md +9 -0
  25. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/HOW-TO-USE.md +10 -0
  26. sddflow-2.7.59/sdd/__init__.py +0 -1
  27. {sddflow-2.7.59 → sddflow-2.7.60}/.gitignore +0 -0
  28. {sddflow-2.7.59 → sddflow-2.7.60}/README.md +0 -0
  29. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/__main__.py +0 -0
  30. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/__init__.py +0 -0
  31. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/config.py +0 -0
  32. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/confluence.py +0 -0
  33. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/cr.py +0 -0
  34. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/dashboard.py +0 -0
  35. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/init.py +0 -0
  36. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/jira.py +0 -0
  37. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/commands/pr.py +0 -0
  38. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/address-review.md +0 -0
  39. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/analyze.md +0 -0
  40. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/ava.md +0 -0
  41. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/bug-assess.md +0 -0
  42. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/bug-fix.md +0 -0
  43. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/change.md +0 -0
  44. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/check-review.md +0 -0
  45. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/checklist.md +0 -0
  46. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/clarify.md +0 -0
  47. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/create-context.md +0 -0
  48. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/implement.md +0 -0
  49. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/jira-push.md +0 -0
  50. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/kai.md +0 -0
  51. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/leo.md +0 -0
  52. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/maya.md +0 -0
  53. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/morgan.md +0 -0
  54. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/orchestrate.md +0 -0
  55. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/plan-adr.md +0 -0
  56. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/plan-arch.md +0 -0
  57. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/plan-design.md +0 -0
  58. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/plan-hld.md +0 -0
  59. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/plan-lld.md +0 -0
  60. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/pre-review.md +0 -0
  61. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/quinn.md +0 -0
  62. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/release.md +0 -0
  63. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/rex.md +0 -0
  64. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/riley.md +0 -0
  65. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/specify-brd.md +0 -0
  66. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/specify-doc.md +0 -0
  67. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/specify-srd.md +0 -0
  68. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/specify-uc.md +0 -0
  69. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/specify.md +0 -0
  70. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/start.md +0 -0
  71. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/submit-review.md +0 -0
  72. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/task.md +0 -0
  73. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/taskstoissues.md +0 -0
  74. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.claude/commands/validate.md +0 -0
  75. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.cursor/rules/sdd-framework.mdc +0 -0
  76. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/copilot-instructions.md +0 -0
  77. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/instructions/api.instructions.md +0 -0
  78. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/instructions/domain.instructions.md +0 -0
  79. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/instructions/java.instructions.md +0 -0
  80. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/instructions/tests.instructions.md +0 -0
  81. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/address-review.prompt.md +0 -0
  82. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/analyze.prompt.md +0 -0
  83. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/ava.prompt.md +0 -0
  84. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/bug-assess.prompt.md +0 -0
  85. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/bug-fix.prompt.md +0 -0
  86. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/change.prompt.md +0 -0
  87. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/check-review.prompt.md +0 -0
  88. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/checklist.prompt.md +0 -0
  89. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/create-context.prompt.md +0 -0
  90. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/implement.prompt.md +0 -0
  91. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/jira-push.prompt.md +0 -0
  92. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/kai.prompt.md +0 -0
  93. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/leo.prompt.md +0 -0
  94. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/maya.prompt.md +0 -0
  95. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/morgan.prompt.md +0 -0
  96. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/orchestrate.prompt.md +0 -0
  97. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/plan-adr.prompt.md +0 -0
  98. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/plan-arch.prompt.md +0 -0
  99. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/plan-design.prompt.md +0 -0
  100. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/plan-hld.prompt.md +0 -0
  101. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/plan-lld.prompt.md +0 -0
  102. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/pre-review.prompt.md +0 -0
  103. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/quinn.prompt.md +0 -0
  104. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/release.prompt.md +0 -0
  105. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/rex.prompt.md +0 -0
  106. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/riley.prompt.md +0 -0
  107. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/specify-brd.prompt.md +0 -0
  108. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/specify-doc.prompt.md +0 -0
  109. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/specify-srd.prompt.md +0 -0
  110. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/specify-uc.prompt.md +0 -0
  111. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/specify.prompt.md +0 -0
  112. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/submit-review.prompt.md +0 -0
  113. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/task.prompt.md +0 -0
  114. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/taskstoissues.prompt.md +0 -0
  115. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/prompts/validate.prompt.md +0 -0
  116. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.github/workflows/quality-gate.yml +0 -0
  117. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.gitignore +0 -0
  118. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.gitlab-ci.yml +0 -0
  119. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/contexts/CONTEXT-GUIDE.md +0 -0
  120. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/integrations.yml.example +0 -0
  121. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/memory/change-rules.md +0 -0
  122. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/memory/constitution.md +0 -0
  123. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/memory/roles.yml +0 -0
  124. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/memory/summary-rules.md +0 -0
  125. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/memory/token-pricing.yml.example +0 -0
  126. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/adr-template.md +0 -0
  127. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/analyze-template.md +0 -0
  128. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/api-spec-template.md +0 -0
  129. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/arch-template.md +0 -0
  130. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/brd-template.md +0 -0
  131. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/changeset-template.md +0 -0
  132. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/checklist-template.md +0 -0
  133. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/clarify-template.md +0 -0
  134. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/constitution-amendment-template.md +0 -0
  135. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/context-template.md +0 -0
  136. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/data-model-template.md +0 -0
  137. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/design-template.md +0 -0
  138. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/docker-config-template.md +0 -0
  139. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/feature-story-template.md +0 -0
  140. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/hld-template.md +0 -0
  141. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/investigation-template.md +0 -0
  142. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/jira-export-template.md +0 -0
  143. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/k8s-manifest-template.md +0 -0
  144. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/lld-template.md +0 -0
  145. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/openapi-template.md +0 -0
  146. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/plan-template.md +0 -0
  147. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/qa-testcases-template.md +0 -0
  148. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/release-template.md +0 -0
  149. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/resilience-template.md +0 -0
  150. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/runbook-template.md +0 -0
  151. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/security-design-template.md +0 -0
  152. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/srd-template.md +0 -0
  153. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/tasks-template.md +0 -0
  154. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/token-usage-template.md +0 -0
  155. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/use-cases-template.md +0 -0
  156. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.specify/templates/validate-template.md +0 -0
  157. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.vscode/extensions.json +0 -0
  158. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/.windsurfrules +0 -0
  159. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/CHANGE-GUIDE.md +0 -0
  160. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/CLAUDE.local.md +0 -0
  161. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/FLOW-ROLES-GATES.md +0 -0
  162. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/IMPROVEMENT-BACKLOG.md +0 -0
  163. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/PROMPT-GUIDE.md +0 -0
  164. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/QUICKSTART.md +0 -0
  165. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/README.md +0 -0
  166. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/SDLC-COMPLETE-GUIDE.md +0 -0
  167. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/WHY-SDD.md +0 -0
  168. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/azure-pipelines.yml +0 -0
  169. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/bitbucket-pipelines.yml +0 -0
  170. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/docs/SUMMARY-GUIDE.md +0 -0
  171. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/setup.ps1 +0 -0
  172. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-backend-service/setup.sh +0 -0
  173. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/address-review.md +0 -0
  174. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/analyze.md +0 -0
  175. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/ava.md +0 -0
  176. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/bug-assess.md +0 -0
  177. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/bug-fix.md +0 -0
  178. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/change.md +0 -0
  179. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/check-review.md +0 -0
  180. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/checklist.md +0 -0
  181. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/clarify.md +0 -0
  182. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/create-context.md +0 -0
  183. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/implement.md +0 -0
  184. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/jira-push.md +0 -0
  185. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/kai.md +0 -0
  186. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/leo.md +0 -0
  187. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/maya.md +0 -0
  188. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/morgan.md +0 -0
  189. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/orchestrate.md +0 -0
  190. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-adr.md +0 -0
  191. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-arch.md +0 -0
  192. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-design.md +0 -0
  193. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-hld.md +0 -0
  194. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-lld.md +0 -0
  195. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/pre-review.md +0 -0
  196. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/quinn.md +0 -0
  197. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/release.md +0 -0
  198. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/rex.md +0 -0
  199. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/riley.md +0 -0
  200. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-brd.md +0 -0
  201. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-doc.md +0 -0
  202. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-srd.md +0 -0
  203. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-uc.md +0 -0
  204. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/specify.md +0 -0
  205. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/start.md +0 -0
  206. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/submit-review.md +0 -0
  207. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/task.md +0 -0
  208. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/taskstoissues.md +0 -0
  209. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.claude/commands/validate.md +0 -0
  210. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.cursor/rules/sdd-framework.mdc +0 -0
  211. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/copilot-instructions.md +0 -0
  212. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/instructions/components.instructions.md +0 -0
  213. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/instructions/services.instructions.md +0 -0
  214. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/instructions/tests.instructions.md +0 -0
  215. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/address-review.prompt.md +0 -0
  216. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/analyze.prompt.md +0 -0
  217. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/ava.prompt.md +0 -0
  218. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/bug-assess.prompt.md +0 -0
  219. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/bug-fix.prompt.md +0 -0
  220. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/change.prompt.md +0 -0
  221. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/check-review.prompt.md +0 -0
  222. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/checklist.prompt.md +0 -0
  223. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/create-context.prompt.md +0 -0
  224. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/implement.prompt.md +0 -0
  225. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/jira-push.prompt.md +0 -0
  226. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/kai.prompt.md +0 -0
  227. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/leo.prompt.md +0 -0
  228. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/maya.prompt.md +0 -0
  229. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/morgan.prompt.md +0 -0
  230. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/orchestrate.prompt.md +0 -0
  231. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-adr.prompt.md +0 -0
  232. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-arch.prompt.md +0 -0
  233. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-design.prompt.md +0 -0
  234. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-hld.prompt.md +0 -0
  235. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/plan-lld.prompt.md +0 -0
  236. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/pre-review.prompt.md +0 -0
  237. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/quinn.prompt.md +0 -0
  238. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/release.prompt.md +0 -0
  239. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/rex.prompt.md +0 -0
  240. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/riley.prompt.md +0 -0
  241. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-brd.prompt.md +0 -0
  242. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-doc.prompt.md +0 -0
  243. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-srd.prompt.md +0 -0
  244. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/specify-uc.prompt.md +0 -0
  245. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/specify.prompt.md +0 -0
  246. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/submit-review.prompt.md +0 -0
  247. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/task.prompt.md +0 -0
  248. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/taskstoissues.prompt.md +0 -0
  249. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/prompts/validate.prompt.md +0 -0
  250. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.github/workflows/quality-gate.yml +0 -0
  251. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.gitignore +0 -0
  252. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.gitlab-ci.yml +0 -0
  253. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/contexts/CONTEXT-GUIDE.md +0 -0
  254. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/integrations.yml.example +0 -0
  255. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/memory/change-rules.md +0 -0
  256. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/memory/constitution.md +0 -0
  257. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/memory/roles.yml +0 -0
  258. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/memory/summary-rules.md +0 -0
  259. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/memory/token-pricing.yml.example +0 -0
  260. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/adr-template.md +0 -0
  261. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/analyze-template.md +0 -0
  262. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/api-spec-template.md +0 -0
  263. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/arch-template.md +0 -0
  264. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/brd-template.md +0 -0
  265. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/changeset-template.md +0 -0
  266. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/checklist-template.md +0 -0
  267. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/clarify-template.md +0 -0
  268. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/component-library-template.md +0 -0
  269. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/component-spec-template.md +0 -0
  270. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/constitution-amendment-template.md +0 -0
  271. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/context-template.md +0 -0
  272. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/data-model-template.md +0 -0
  273. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/design-template.md +0 -0
  274. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/docker-config-template.md +0 -0
  275. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/feature-story-template.md +0 -0
  276. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/hld-template.md +0 -0
  277. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/investigation-template.md +0 -0
  278. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/jira-export-template.md +0 -0
  279. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/lld-template.md +0 -0
  280. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/plan-template.md +0 -0
  281. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/qa-testcases-template.md +0 -0
  282. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/release-template.md +0 -0
  283. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/resilience-template.md +0 -0
  284. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/runbook-template.md +0 -0
  285. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/security-design-template.md +0 -0
  286. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/srd-template.md +0 -0
  287. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/tasks-template.md +0 -0
  288. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/token-usage-template.md +0 -0
  289. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/use-cases-template.md +0 -0
  290. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/ux-flow-template.md +0 -0
  291. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.specify/templates/validate-template.md +0 -0
  292. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.vscode/extensions.json +0 -0
  293. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/.windsurfrules +0 -0
  294. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/CHANGE-GUIDE.md +0 -0
  295. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/CLAUDE.local.md +0 -0
  296. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/FLOW-ROLES-GATES.md +0 -0
  297. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/IMPROVEMENT-BACKLOG.md +0 -0
  298. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/PROMPT-GUIDE.md +0 -0
  299. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/QUICKSTART.md +0 -0
  300. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/README.md +0 -0
  301. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/SDLC-COMPLETE-GUIDE.md +0 -0
  302. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/WHY-SDD.md +0 -0
  303. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/azure-pipelines.yml +0 -0
  304. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/bitbucket-pipelines.yml +0 -0
  305. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/docs/SUMMARY-GUIDE.md +0 -0
  306. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/setup.ps1 +0 -0
  307. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-frontend-spa/setup.sh +0 -0
  308. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/address-review.md +0 -0
  309. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/analyze.md +0 -0
  310. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/ava.md +0 -0
  311. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/bug-assess.md +0 -0
  312. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/bug-fix.md +0 -0
  313. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/change.md +0 -0
  314. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/check-review.md +0 -0
  315. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/checklist.md +0 -0
  316. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/clarify.md +0 -0
  317. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/create-context.md +0 -0
  318. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/implement.md +0 -0
  319. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/jira-push.md +0 -0
  320. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/kai.md +0 -0
  321. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/leo.md +0 -0
  322. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/maya.md +0 -0
  323. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/morgan.md +0 -0
  324. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/orchestrate.md +0 -0
  325. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/plan-adr.md +0 -0
  326. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/plan-arch.md +0 -0
  327. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/plan-design.md +0 -0
  328. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/plan-hld.md +0 -0
  329. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/plan-lld.md +0 -0
  330. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/pre-review.md +0 -0
  331. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/quinn.md +0 -0
  332. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/release.md +0 -0
  333. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/rex.md +0 -0
  334. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/riley.md +0 -0
  335. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/specify-brd.md +0 -0
  336. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/specify-doc.md +0 -0
  337. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/specify-srd.md +0 -0
  338. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/specify-uc.md +0 -0
  339. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/specify.md +0 -0
  340. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/start.md +0 -0
  341. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/submit-review.md +0 -0
  342. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/task.md +0 -0
  343. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/taskstoissues.md +0 -0
  344. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.claude/commands/validate.md +0 -0
  345. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.cursor/rules/sdd-framework.mdc +0 -0
  346. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/copilot-instructions.md +0 -0
  347. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/instructions/backend-tests.instructions.md +0 -0
  348. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/instructions/components.instructions.md +0 -0
  349. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/instructions/domain.instructions.md +0 -0
  350. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/instructions/frontend-services.instructions.md +0 -0
  351. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/instructions/java.instructions.md +0 -0
  352. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/address-review.prompt.md +0 -0
  353. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/analyze.prompt.md +0 -0
  354. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/ava.prompt.md +0 -0
  355. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/bug-assess.prompt.md +0 -0
  356. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/bug-fix.prompt.md +0 -0
  357. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/change.prompt.md +0 -0
  358. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/check-review.prompt.md +0 -0
  359. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/checklist.prompt.md +0 -0
  360. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/create-context.prompt.md +0 -0
  361. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/implement.prompt.md +0 -0
  362. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/jira-push.prompt.md +0 -0
  363. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/kai.prompt.md +0 -0
  364. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/leo.prompt.md +0 -0
  365. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/maya.prompt.md +0 -0
  366. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/morgan.prompt.md +0 -0
  367. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/orchestrate.prompt.md +0 -0
  368. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/plan-adr.prompt.md +0 -0
  369. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/plan-arch.prompt.md +0 -0
  370. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/plan-design.prompt.md +0 -0
  371. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/plan-hld.prompt.md +0 -0
  372. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/plan-lld.prompt.md +0 -0
  373. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/pre-review.prompt.md +0 -0
  374. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/quinn.prompt.md +0 -0
  375. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/release.prompt.md +0 -0
  376. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/rex.prompt.md +0 -0
  377. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/riley.prompt.md +0 -0
  378. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/specify-brd.prompt.md +0 -0
  379. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/specify-doc.prompt.md +0 -0
  380. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/specify-srd.prompt.md +0 -0
  381. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/specify-uc.prompt.md +0 -0
  382. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/specify.prompt.md +0 -0
  383. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/submit-review.prompt.md +0 -0
  384. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/task.prompt.md +0 -0
  385. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/taskstoissues.prompt.md +0 -0
  386. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/prompts/validate.prompt.md +0 -0
  387. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.github/workflows/quality-gate.yml +0 -0
  388. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.gitignore +0 -0
  389. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.gitlab-ci.yml +0 -0
  390. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/contexts/CONTEXT-GUIDE.md +0 -0
  391. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/integrations.yml.example +0 -0
  392. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/memory/change-rules.md +0 -0
  393. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/memory/constitution.md +0 -0
  394. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/memory/roles.yml +0 -0
  395. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/memory/summary-rules.md +0 -0
  396. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/memory/token-pricing.yml.example +0 -0
  397. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/adr-template.md +0 -0
  398. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/analyze-template.md +0 -0
  399. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/api-spec-template.md +0 -0
  400. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/arch-template.md +0 -0
  401. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/brd-template.md +0 -0
  402. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/changeset-template.md +0 -0
  403. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/checklist-template.md +0 -0
  404. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/clarify-template.md +0 -0
  405. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/component-library-template.md +0 -0
  406. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/component-spec-template.md +0 -0
  407. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/constitution-amendment-template.md +0 -0
  408. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/context-template.md +0 -0
  409. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/data-model-template.md +0 -0
  410. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/design-template.md +0 -0
  411. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/docker-config-template.md +0 -0
  412. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/feature-story-template.md +0 -0
  413. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/hld-template.md +0 -0
  414. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/investigation-template.md +0 -0
  415. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/jira-export-template.md +0 -0
  416. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/lld-template.md +0 -0
  417. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/openapi-template.md +0 -0
  418. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/plan-template.md +0 -0
  419. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/qa-testcases-template.md +0 -0
  420. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/release-template.md +0 -0
  421. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/resilience-template.md +0 -0
  422. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/runbook-template.md +0 -0
  423. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/screen-spec-template.md +0 -0
  424. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/security-design-template.md +0 -0
  425. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/srd-template.md +0 -0
  426. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/tasks-template.md +0 -0
  427. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/token-usage-template.md +0 -0
  428. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/use-cases-template.md +0 -0
  429. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/ux-flow-template.md +0 -0
  430. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.specify/templates/validate-template.md +0 -0
  431. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.vscode/extensions.json +0 -0
  432. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/.windsurfrules +0 -0
  433. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/CHANGE-GUIDE.md +0 -0
  434. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/CLAUDE.local.md +0 -0
  435. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/FLOW-ROLES-GATES.md +0 -0
  436. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/PROMPT-GUIDE.md +0 -0
  437. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/QUICKSTART.md +0 -0
  438. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/README.md +0 -0
  439. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/SDLC-COMPLETE-GUIDE.md +0 -0
  440. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/WHY-SDD.md +0 -0
  441. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/azure-pipelines.yml +0 -0
  442. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/bitbucket-pipelines.yml +0 -0
  443. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/docs/SUMMARY-GUIDE.md +0 -0
  444. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/setup.ps1 +0 -0
  445. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-fullstack/setup.sh +0 -0
  446. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.claude/commands/create-context.md +0 -0
  447. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.claude/commands/implement.md +0 -0
  448. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.claude/commands/specify.md +0 -0
  449. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.claude/commands/start.md +0 -0
  450. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.claude/commands/task.md +0 -0
  451. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.cursor/rules/sdd-framework.mdc +0 -0
  452. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.github/copilot-instructions.md +0 -0
  453. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.github/prompts/create-context.prompt.md +0 -0
  454. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.github/prompts/implement.prompt.md +0 -0
  455. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.github/prompts/specify.prompt.md +0 -0
  456. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.github/prompts/task.prompt.md +0 -0
  457. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.specify/contexts/CONTEXT-GUIDE.md +0 -0
  458. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.specify/manifest.yml +0 -0
  459. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.specify/memory/constitution.md +0 -0
  460. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.specify/templates/context-template.md +0 -0
  461. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.specify/templates/tasks-template.md +0 -0
  462. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/.windsurfrules +0 -0
  463. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/CLAUDE.md +0 -0
  464. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/QUICKSTART.md +0 -0
  465. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/README.md +0 -0
  466. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/WHY-SDD.md +0 -0
  467. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/setup.ps1 +0 -0
  468. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-micro/setup.sh +0 -0
  469. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/address-review.md +0 -0
  470. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/analyze.md +0 -0
  471. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/ava.md +0 -0
  472. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/bug-assess.md +0 -0
  473. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/bug-fix.md +0 -0
  474. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/change.md +0 -0
  475. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/check-review.md +0 -0
  476. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/checklist.md +0 -0
  477. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/clarify.md +0 -0
  478. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/create-context.md +0 -0
  479. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/implement.md +0 -0
  480. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/jira-push.md +0 -0
  481. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/kai.md +0 -0
  482. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/leo.md +0 -0
  483. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/maya.md +0 -0
  484. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/morgan.md +0 -0
  485. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/orchestrate.md +0 -0
  486. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/plan-adr.md +0 -0
  487. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/plan-arch.md +0 -0
  488. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/plan-design.md +0 -0
  489. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/plan-hld.md +0 -0
  490. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/plan-lld.md +0 -0
  491. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/pre-review.md +0 -0
  492. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/quinn.md +0 -0
  493. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/release.md +0 -0
  494. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/rex.md +0 -0
  495. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/riley.md +0 -0
  496. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/specify-brd.md +0 -0
  497. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/specify-doc.md +0 -0
  498. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/specify-srd.md +0 -0
  499. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/specify-uc.md +0 -0
  500. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/specify.md +0 -0
  501. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/start.md +0 -0
  502. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/submit-review.md +0 -0
  503. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/task.md +0 -0
  504. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/taskstoissues.md +0 -0
  505. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.claude/commands/validate.md +0 -0
  506. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.cursor/rules/sdd-framework.mdc +0 -0
  507. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/copilot-instructions.md +0 -0
  508. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/instructions/screens.instructions.md +0 -0
  509. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/instructions/services.instructions.md +0 -0
  510. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/instructions/tests.instructions.md +0 -0
  511. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/address-review.prompt.md +0 -0
  512. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/analyze.prompt.md +0 -0
  513. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/ava.prompt.md +0 -0
  514. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/bug-assess.prompt.md +0 -0
  515. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/bug-fix.prompt.md +0 -0
  516. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/change.prompt.md +0 -0
  517. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/check-review.prompt.md +0 -0
  518. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/checklist.prompt.md +0 -0
  519. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/create-context.prompt.md +0 -0
  520. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/implement.prompt.md +0 -0
  521. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/jira-push.prompt.md +0 -0
  522. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/kai.prompt.md +0 -0
  523. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/leo.prompt.md +0 -0
  524. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/maya.prompt.md +0 -0
  525. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/morgan.prompt.md +0 -0
  526. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/orchestrate.prompt.md +0 -0
  527. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/plan-adr.prompt.md +0 -0
  528. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/plan-arch.prompt.md +0 -0
  529. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/plan-design.prompt.md +0 -0
  530. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/plan-hld.prompt.md +0 -0
  531. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/plan-lld.prompt.md +0 -0
  532. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/pre-review.prompt.md +0 -0
  533. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/quinn.prompt.md +0 -0
  534. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/release.prompt.md +0 -0
  535. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/rex.prompt.md +0 -0
  536. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/riley.prompt.md +0 -0
  537. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/specify-brd.prompt.md +0 -0
  538. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/specify-doc.prompt.md +0 -0
  539. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/specify-srd.prompt.md +0 -0
  540. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/specify-uc.prompt.md +0 -0
  541. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/specify.prompt.md +0 -0
  542. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/submit-review.prompt.md +0 -0
  543. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/task.prompt.md +0 -0
  544. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/taskstoissues.prompt.md +0 -0
  545. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/prompts/validate.prompt.md +0 -0
  546. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.github/workflows/quality-gate.yml +0 -0
  547. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.gitignore +0 -0
  548. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.gitlab-ci.yml +0 -0
  549. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/contexts/CONTEXT-GUIDE.md +0 -0
  550. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/integrations.yml.example +0 -0
  551. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/memory/change-rules.md +0 -0
  552. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/memory/constitution.md +0 -0
  553. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/memory/roles.yml +0 -0
  554. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/memory/summary-rules.md +0 -0
  555. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/memory/token-pricing.yml.example +0 -0
  556. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/adr-template.md +0 -0
  557. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/analyze-template.md +0 -0
  558. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/api-spec-template.md +0 -0
  559. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/arch-template.md +0 -0
  560. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/brd-template.md +0 -0
  561. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/changeset-template.md +0 -0
  562. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/checklist-template.md +0 -0
  563. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/clarify-template.md +0 -0
  564. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/constitution-amendment-template.md +0 -0
  565. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/context-template.md +0 -0
  566. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/data-model-template.md +0 -0
  567. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/design-template.md +0 -0
  568. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/docker-config-template.md +0 -0
  569. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/feature-story-template.md +0 -0
  570. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/hld-template.md +0 -0
  571. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/investigation-template.md +0 -0
  572. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/jira-export-template.md +0 -0
  573. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/lld-template.md +0 -0
  574. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/plan-template.md +0 -0
  575. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/qa-testcases-template.md +0 -0
  576. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/release-template.md +0 -0
  577. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/resilience-template.md +0 -0
  578. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/runbook-template.md +0 -0
  579. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/screen-spec-template.md +0 -0
  580. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/security-design-template.md +0 -0
  581. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/srd-template.md +0 -0
  582. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/tasks-template.md +0 -0
  583. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/token-usage-template.md +0 -0
  584. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/use-cases-template.md +0 -0
  585. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/ux-flow-template.md +0 -0
  586. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.specify/templates/validate-template.md +0 -0
  587. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.vscode/extensions.json +0 -0
  588. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/.windsurfrules +0 -0
  589. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/CHANGE-GUIDE.md +0 -0
  590. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/CLAUDE.local.md +0 -0
  591. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/FLOW-ROLES-GATES.md +0 -0
  592. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/IMPROVEMENT-BACKLOG.md +0 -0
  593. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/PROMPT-GUIDE.md +0 -0
  594. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/QUICKSTART.md +0 -0
  595. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/README.md +0 -0
  596. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/SDLC-COMPLETE-GUIDE.md +0 -0
  597. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/WHY-SDD.md +0 -0
  598. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/azure-pipelines.yml +0 -0
  599. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/bitbucket-pipelines.yml +0 -0
  600. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/docs/SUMMARY-GUIDE.md +0 -0
  601. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/setup.ps1 +0 -0
  602. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-mobile/setup.sh +0 -0
  603. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/address-review.md +0 -0
  604. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/analyze.md +0 -0
  605. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/ava.md +0 -0
  606. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/bug-assess.md +0 -0
  607. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/bug-fix.md +0 -0
  608. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/change.md +0 -0
  609. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/check-review.md +0 -0
  610. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/checklist.md +0 -0
  611. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/clarify.md +0 -0
  612. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/create-context.md +0 -0
  613. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/implement.md +0 -0
  614. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/jira-push.md +0 -0
  615. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/kai.md +0 -0
  616. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/leo.md +0 -0
  617. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/maya.md +0 -0
  618. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/morgan.md +0 -0
  619. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/orchestrate.md +0 -0
  620. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/plan-adr.md +0 -0
  621. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/plan-arch.md +0 -0
  622. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/plan-design.md +0 -0
  623. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/plan-hld.md +0 -0
  624. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/plan-lld.md +0 -0
  625. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/pre-review.md +0 -0
  626. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/quinn.md +0 -0
  627. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/release.md +0 -0
  628. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/rex.md +0 -0
  629. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/riley.md +0 -0
  630. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/specify-brd.md +0 -0
  631. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/specify-doc.md +0 -0
  632. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/specify-srd.md +0 -0
  633. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/specify-uc.md +0 -0
  634. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/specify.md +0 -0
  635. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/start.md +0 -0
  636. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/submit-review.md +0 -0
  637. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/task.md +0 -0
  638. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/taskstoissues.md +0 -0
  639. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.claude/commands/validate.md +0 -0
  640. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.cursor/rules/sdd-framework.mdc +0 -0
  641. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/copilot-instructions.md +0 -0
  642. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/instructions/domain.instructions.md +0 -0
  643. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/instructions/entrypoints.instructions.md +0 -0
  644. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/instructions/tests.instructions.md +0 -0
  645. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/address-review.prompt.md +0 -0
  646. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/analyze.prompt.md +0 -0
  647. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/ava.prompt.md +0 -0
  648. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/bug-assess.prompt.md +0 -0
  649. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/bug-fix.prompt.md +0 -0
  650. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/change.prompt.md +0 -0
  651. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/check-review.prompt.md +0 -0
  652. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/checklist.prompt.md +0 -0
  653. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/create-context.prompt.md +0 -0
  654. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/implement.prompt.md +0 -0
  655. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/jira-push.prompt.md +0 -0
  656. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/kai.prompt.md +0 -0
  657. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/leo.prompt.md +0 -0
  658. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/maya.prompt.md +0 -0
  659. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/morgan.prompt.md +0 -0
  660. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/orchestrate.prompt.md +0 -0
  661. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/plan-adr.prompt.md +0 -0
  662. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/plan-arch.prompt.md +0 -0
  663. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/plan-design.prompt.md +0 -0
  664. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/plan-hld.prompt.md +0 -0
  665. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/plan-lld.prompt.md +0 -0
  666. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/pre-review.prompt.md +0 -0
  667. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/quinn.prompt.md +0 -0
  668. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/release.prompt.md +0 -0
  669. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/rex.prompt.md +0 -0
  670. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/riley.prompt.md +0 -0
  671. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/specify-brd.prompt.md +0 -0
  672. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/specify-doc.prompt.md +0 -0
  673. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/specify-srd.prompt.md +0 -0
  674. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/specify-uc.prompt.md +0 -0
  675. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/specify.prompt.md +0 -0
  676. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/submit-review.prompt.md +0 -0
  677. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/task.prompt.md +0 -0
  678. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/taskstoissues.prompt.md +0 -0
  679. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/prompts/validate.prompt.md +0 -0
  680. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.github/workflows/quality-gate.yml +0 -0
  681. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.gitignore +0 -0
  682. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.gitlab-ci.yml +0 -0
  683. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/contexts/CONTEXT-GUIDE.md +0 -0
  684. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/integrations.yml.example +0 -0
  685. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/memory/change-rules.md +0 -0
  686. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/memory/constitution.md +0 -0
  687. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/memory/roles.yml +0 -0
  688. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/memory/summary-rules.md +0 -0
  689. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/memory/token-pricing.yml.example +0 -0
  690. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/adr-template.md +0 -0
  691. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/analyze-template.md +0 -0
  692. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/api-spec-template.md +0 -0
  693. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/arch-template.md +0 -0
  694. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/brd-template.md +0 -0
  695. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/changeset-template.md +0 -0
  696. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/checklist-template.md +0 -0
  697. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/clarify-template.md +0 -0
  698. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/constitution-amendment-template.md +0 -0
  699. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/context-template.md +0 -0
  700. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/data-model-template.md +0 -0
  701. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/design-template.md +0 -0
  702. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/docker-config-template.md +0 -0
  703. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/feature-story-template.md +0 -0
  704. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/hld-template.md +0 -0
  705. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/investigation-template.md +0 -0
  706. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/jira-export-template.md +0 -0
  707. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/k8s-manifest-template.md +0 -0
  708. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/lld-template.md +0 -0
  709. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/openapi-template.md +0 -0
  710. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/plan-template.md +0 -0
  711. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/qa-testcases-template.md +0 -0
  712. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/release-template.md +0 -0
  713. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/resilience-template.md +0 -0
  714. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/runbook-template.md +0 -0
  715. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/security-design-template.md +0 -0
  716. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/srd-template.md +0 -0
  717. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/tasks-template.md +0 -0
  718. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/token-usage-template.md +0 -0
  719. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/use-cases-template.md +0 -0
  720. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.specify/templates/validate-template.md +0 -0
  721. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.vscode/extensions.json +0 -0
  722. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/.windsurfrules +0 -0
  723. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/CHANGE-GUIDE.md +0 -0
  724. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/CLAUDE.local.md +0 -0
  725. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/FLOW-ROLES-GATES.md +0 -0
  726. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/IMPROVEMENT-BACKLOG.md +0 -0
  727. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/PROMPT-GUIDE.md +0 -0
  728. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/QUICKSTART.md +0 -0
  729. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/README.md +0 -0
  730. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/SDLC-COMPLETE-GUIDE.md +0 -0
  731. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/WHY-SDD.md +0 -0
  732. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/azure-pipelines.yml +0 -0
  733. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/bitbucket-pipelines.yml +0 -0
  734. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/docs/SUMMARY-GUIDE.md +0 -0
  735. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/setup.ps1 +0 -0
  736. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/packs/sdd-universal/setup.sh +0 -0
  737. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/__init__.py +0 -0
  738. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/atlassian_auth.py +0 -0
  739. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/cf_to_md.py +0 -0
  740. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/confluence_client.py +0 -0
  741. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/dashboard_comments.py +0 -0
  742. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/detect.py +0 -0
  743. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/git_host.py +0 -0
  744. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/integrations.py +0 -0
  745. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/jira_client.py +0 -0
  746. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/manifest.py +0 -0
  747. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/md_to_cf.py +0 -0
  748. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/mermaid_render.py +0 -0
  749. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/scaffold.py +0 -0
  750. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/sdd_parser.py +0 -0
  751. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/status.py +0 -0
  752. {sddflow-2.7.59 → sddflow-2.7.60}/sdd/utils/validate.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sddflow
3
- Version: 2.7.59
3
+ Version: 2.7.60
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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sddflow"
7
- version = "2.7.59"
7
+ version = "2.7.60"
8
8
  description = "SDD Framework CLI — initialize and upgrade Spec-Driven Development packs"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -0,0 +1 @@
1
+ __version__ = "2.7.60"
@@ -473,6 +473,129 @@ def _patch_marker(md_path: Path, nnn: str, answer: str) -> bool:
473
473
  return True
474
474
 
475
475
 
476
+ # ── clarify.md's own open items (AMB/GAP/CON/ASM/OQ/R) ─────────────────────────
477
+ # Unlike validate.md's [NEEDS CLARIFICATION-NNN] markers -- which cite OTHER
478
+ # documents (brd/srd/use-cases) via a `{doc}:NC-{NNN}` ID -- clarify.md's own
479
+ # ambiguities/gaps/conflicts/assumptions/open-questions/risks live entirely in
480
+ # clarify.md itself, tracked by its STATUS TABLE (see clarify-template.md)
481
+ # rather than an inline bracketed marker. push-questions/pull-answers only
482
+ # ever understood the NC-NNN scheme, so clarify.md could never be pushed to
483
+ # Jira for answers the way validate.md already could -- this second, parallel
484
+ # parse/patch pair gives it the same workflow.
485
+
486
+ _CLARIFY_ITEM_CODE = r'(?:AMB|GAP|CON|ASM|OQ|R)-\d+'
487
+ _CLARIFY_STATUS_ROW_RE = re.compile(
488
+ r'^\|\s*(' + _CLARIFY_ITEM_CODE + r')\s*\|\s*([^|]+?)\s*\|\s*([^|]+?)\s*\|\s*OPEN\s*\|\s*$',
489
+ re.MULTILINE | re.IGNORECASE,
490
+ )
491
+ _CLARIFY_ANSWER_LINE_RE = re.compile(
492
+ r'^\s*clarify:(' + _CLARIFY_ITEM_CODE + r')\s*:\s*(.+?)\s*$',
493
+ re.MULTILINE | re.IGNORECASE,
494
+ )
495
+ _CLARIFY_FILL_RE = re.compile(r'\{FILL[^}]*\}')
496
+
497
+ # Terminal STATUS TABLE value per item-type prefix, matching the mapping
498
+ # clarify.prompt.md's own Step 2 uses ("match the item type"). ASM is not
499
+ # listed here -- it's CONFIRMED or CORRECTED depending on the answer itself
500
+ # (the template's own "Correct? Yes / No" framing), handled in
501
+ # _patch_clarify_item rather than a fixed lookup.
502
+ _CLARIFY_TERMINAL_STATUS = {
503
+ "AMB": "RESOLVED",
504
+ "GAP": "RESOLVED",
505
+ "CON": "CORRECTED",
506
+ "OQ": "DECIDED",
507
+ "R": "RESOLVED",
508
+ }
509
+
510
+
511
+ def _clarify_item_block_text(doc_text: str, code: str) -> str | None:
512
+ """Return the full body of a clarify.md item's own section (from its
513
+ `### {code}: {Topic}` heading up to the next section break -- either a
514
+ `---` divider between type-sections or the next `### ` item heading for
515
+ consecutive same-type items), for posting as the Jira question text.
516
+ Returns the whole block (Found in / Option A / Option B / etc, not just
517
+ one field) since the 5 item types each label their key line
518
+ differently and the reviewer needs full context regardless. None if no
519
+ such heading exists in doc_text."""
520
+ heading = re.search(r'^### ' + re.escape(code) + r':.*$', doc_text, re.MULTILINE)
521
+ if not heading:
522
+ return None
523
+ rest = doc_text[heading.end():]
524
+ end_match = re.search(r'\n---\s*\n|\n### ', rest)
525
+ body = rest[:end_match.start()] if end_match else rest
526
+ return (heading.group(0) + "\n" + body).strip()
527
+
528
+
529
+ def _parse_clarify_open_items(doc_text: str) -> list[dict]:
530
+ """Parse clarify.md's STATUS TABLE for OPEN rows into the same
531
+ {id, locations, question} shape _parse_open_questions returns, so
532
+ push-questions/pull-answers can handle both marker schemes through the
533
+ same downstream Jira/Confluence code. Every clarify item lives in
534
+ clarify.md itself -- "locations" is always just the item's own ID,
535
+ prefixed "clarify:" to match the {doc}:NC-{NNN} convention every
536
+ answer-parsing/console-message call site already expects (e.g. the
537
+ reviewer replies "clarify:AMB-001: <answer>", not "brd:NC-001: ...")."""
538
+ items: list[dict] = []
539
+ for m in _CLARIFY_STATUS_ROW_RE.finditer(doc_text):
540
+ code = m.group(1).strip().upper()
541
+ full_id = f"clarify:{code}"
542
+ question = _clarify_item_block_text(doc_text, code) or f"{m.group(2).strip()}: {m.group(3).strip()}"
543
+ items.append({"id": full_id, "locations": [full_id], "question": question})
544
+ return items
545
+
546
+
547
+ def _parse_clarify_answers(comments: list[dict]) -> dict[str, str]:
548
+ """Parse every Jira comment for lines like 'clarify:AMB-001: <answer>'.
549
+ A later comment's answer for the same ID overrides an earlier one."""
550
+ answers: dict[str, str] = {}
551
+ for c in comments:
552
+ text = _extract_text(c.get("body", ""))
553
+ for m in _CLARIFY_ANSWER_LINE_RE.finditer(text):
554
+ code, answer = m.group(1).upper(), m.group(2)
555
+ answers[f"clarify:{code}"] = answer
556
+ return answers
557
+
558
+
559
+ def _patch_clarify_item(md_path: Path, code: str, answer: str) -> bool:
560
+ """Fill a clarify.md item's `{FILL...}` placeholder with the reviewer's
561
+ answer and flip its STATUS TABLE row from OPEN to the terminal status
562
+ for its type. Returns True if the item was found and patched, False
563
+ otherwise (already resolved, or code doesn't exist in this file)."""
564
+ if not md_path.exists():
565
+ return False
566
+ text = md_path.read_text()
567
+
568
+ heading = re.search(r'^### ' + re.escape(code) + r':.*$', text, re.MULTILINE)
569
+ if not heading:
570
+ return False
571
+ rest = text[heading.end():]
572
+ end_match = re.search(r'\n---\s*\n|\n### ', rest)
573
+ block_end = heading.end() + (end_match.start() if end_match else len(rest))
574
+ fill_match = _CLARIFY_FILL_RE.search(text, heading.end(), block_end)
575
+ if not fill_match:
576
+ return False # already answered
577
+
578
+ prefix = code.split("-")[0]
579
+ if prefix == "ASM":
580
+ status = "CONFIRMED" if answer.strip().lower().startswith("yes") else "CORRECTED"
581
+ else:
582
+ status = _CLARIFY_TERMINAL_STATUS.get(prefix, "RESOLVED")
583
+
584
+ new_text = text[:fill_match.start()] + answer + text[fill_match.end():]
585
+
586
+ status_row_re = re.compile(
587
+ r'(^\|\s*' + re.escape(code) + r'\s*\|[^|]*\|[^|]*\|)\s*OPEN\s*(\|\s*$)',
588
+ re.MULTILINE | re.IGNORECASE,
589
+ )
590
+ new_text, n = status_row_re.subn(r'\1 ' + status + r' \2', new_text, count=1)
591
+ if n == 0:
592
+ return False # STATUS TABLE row missing/already flipped -- don't half-patch
593
+
594
+ new_text = _bump_version_and_log(new_text, f"{code} resolved via Jira/Confluence comment")
595
+ md_path.write_text(new_text)
596
+ return True
597
+
598
+
476
599
  _LEGACY_MARKER_RE = re.compile(r'\[NEEDS CLARIFICATION:\s*')
477
600
 
478
601
 
@@ -810,11 +933,14 @@ def review_push_questions(doc, profile, feature):
810
933
  console.print(f" [red]✗ {md_path} not found[/red]")
811
934
  raise SystemExit(1)
812
935
 
813
- items = _parse_open_questions(md_path.read_text())
936
+ if doc == "clarify":
937
+ items = _parse_clarify_open_items(md_path.read_text())
938
+ not_found_msg = "No OPEN items found in clarify.md's STATUS TABLE — nothing to push."
939
+ else:
940
+ items = _parse_open_questions(md_path.read_text())
941
+ not_found_msg = f"No open [NEEDS CLARIFICATION-NNN] items found in {md_path.name} — nothing to push."
814
942
  if not items:
815
- console.print(
816
- f" [dim]No open [NEEDS CLARIFICATION-NNN] items found in {md_path.name} — nothing to push.[/dim]"
817
- )
943
+ console.print(f" [dim]{not_found_msg}[/dim]")
818
944
  raise SystemExit(0)
819
945
 
820
946
  try:
@@ -856,7 +982,7 @@ def review_push_questions(doc, profile, feature):
856
982
  f"Answer each item as a comment on THIS ticket, one line per item, "
857
983
  f"starting with its ID:\n\n{table_lines}\n\n"
858
984
  f"Example: \"{items[0]['id']}: <your answer>\"\n\n"
859
- f"Once every item is answered, re-run /validate — it pulls the answers "
985
+ f"Once every item is answered, re-run /{doc} — it pulls the answers "
860
986
  f"automatically, updates the spec, and re-checks."
861
987
  )
862
988
  fields: dict = {
@@ -900,7 +1026,7 @@ def review_push_questions(doc, profile, feature):
900
1026
  console.print()
901
1027
  console.print(f" [bold]{len(items)} open question(s)[/bold] pushed. Reviewer replies as a comment")
902
1028
  console.print(f" starting with the item's ID, e.g. \"{items[0]['id']}: <answer>\".")
903
- console.print(f" Run [cyan]sdd review pull-answers --doc {doc}[/cyan] (or just re-run /validate) once answered.")
1029
+ console.print(f" Run [cyan]sdd review pull-answers --doc {doc}[/cyan] (or just re-run /{doc}) once answered.")
904
1030
  console.print()
905
1031
 
906
1032
 
@@ -938,31 +1064,38 @@ def review_pull_answers(doc, profile, feature):
938
1064
  if not md_path.exists():
939
1065
  raise SystemExit(0)
940
1066
 
941
- items = _parse_open_questions(md_path.read_text())
1067
+ is_clarify = (doc == "clarify")
1068
+ if is_clarify:
1069
+ items = _parse_clarify_open_items(md_path.read_text())
1070
+ else:
1071
+ items = _parse_open_questions(md_path.read_text())
942
1072
  if not items:
943
1073
  raise SystemExit(0)
944
1074
 
945
- # Retrofit: a doc that predates NEEDS CLARIFICATION-NNN numbering
946
- # still has the old unnumbered [NEEDS CLARIFICATION: ...] form, even
947
- # though validate.md's table above already displays synthesized
948
- # brd:NC-001-style IDs for it (order-of-appearance, same rule) --
949
- # number the source file's markers to match before attempting any
950
- # patch, or the exact-ID search below would never find them.
951
- referenced_docs = {
952
- _normalize_doc_key(loc_id.split(":NC-")[0])
953
- for item in items for loc_id in item["locations"]
954
- }
955
- for doc_key in referenced_docs:
956
- try:
957
- loc_path = resolve_doc_path(doc_key, feature_name)
958
- except ValueError:
959
- continue
960
- renumbered = _number_legacy_markers(loc_path)
961
- if renumbered:
962
- console.print(
963
- f" [dim]· Numbered {renumbered} legacy marker(s) in "
964
- f"{loc_path.name} to match validate.md's IDs[/dim]"
965
- )
1075
+ if not is_clarify:
1076
+ # Retrofit: a doc that predates NEEDS CLARIFICATION-NNN numbering
1077
+ # still has the old unnumbered [NEEDS CLARIFICATION: ...] form, even
1078
+ # though validate.md's table above already displays synthesized
1079
+ # brd:NC-001-style IDs for it (order-of-appearance, same rule) --
1080
+ # number the source file's markers to match before attempting any
1081
+ # patch, or the exact-ID search below would never find them.
1082
+ # clarify.md's own items have no such legacy/numbering concern --
1083
+ # they're tracked by a STATUS TABLE row, not a bracketed marker.
1084
+ referenced_docs = {
1085
+ _normalize_doc_key(loc_id.split(":NC-")[0])
1086
+ for item in items for loc_id in item["locations"]
1087
+ }
1088
+ for doc_key in referenced_docs:
1089
+ try:
1090
+ loc_path = resolve_doc_path(doc_key, feature_name)
1091
+ except ValueError:
1092
+ continue
1093
+ renumbered = _number_legacy_markers(loc_path)
1094
+ if renumbered:
1095
+ console.print(
1096
+ f" [dim]· Numbered {renumbered} legacy marker(s) in "
1097
+ f"{loc_path.name} to match validate.md's IDs[/dim]"
1098
+ )
966
1099
 
967
1100
  links = _load_review_links()
968
1101
  issue_key = (links.get(doc) or {}).get("key")
@@ -986,7 +1119,7 @@ def review_pull_answers(doc, profile, feature):
986
1119
  console.print(f" [yellow]! Could not fetch comments from {issue_key}: {e}[/yellow]")
987
1120
  raise SystemExit(0)
988
1121
 
989
- answers = _parse_answers(comments)
1122
+ answers = _parse_clarify_answers(comments) if is_clarify else _parse_answers(comments)
990
1123
  if not answers:
991
1124
  raise SystemExit(0)
992
1125
 
@@ -1001,6 +1134,13 @@ def review_pull_answers(doc, profile, feature):
1001
1134
  if item["id"] not in answers:
1002
1135
  continue
1003
1136
  answer_text = answers[item["id"]]
1137
+ if is_clarify:
1138
+ code = item["id"].split("clarify:", 1)[1]
1139
+ if _patch_clarify_item(md_path, code, answer_text):
1140
+ patched_docs["clarify"] = patched_docs.get("clarify", 0) + 1
1141
+ patched_paths["clarify"] = md_path
1142
+ console.print(f" [green]✓[/green] {item['id']} resolved in {md_path.name}")
1143
+ continue
1004
1144
  for loc_id in item["locations"]:
1005
1145
  doc_key, nnn = loc_id.split(":NC-")
1006
1146
  doc_key = _normalize_doc_key(doc_key)
@@ -2342,6 +2342,44 @@ MIGRATIONS = [
2342
2342
  ],
2343
2343
  "migrate": lambda m: {**m, "sdd_version": "2.7.59"},
2344
2344
  },
2345
+ {
2346
+ "from": "2.7.59",
2347
+ "to": "2.7.60",
2348
+ "description": "Feature: clarify.md's own open items (AMB/GAP/CON/ASM/OQ/R) can now be pushed to Jira/Confluence for answers via sdd review push-questions/pull-answers, the same way validate.md's [NEEDS CLARIFICATION-NNN] markers already could -- no manifest schema changes",
2349
+ "notes": [
2350
+ "User pointed out that /validate's open questions could already "
2351
+ "be answered via Jira (push-questions/pull-answers), but /clarify's "
2352
+ "8-item report had no such path -- push-questions silently found "
2353
+ "nothing to push because it only ever recognized the "
2354
+ "'{doc}:NC-{NNN}' bracketed-marker scheme, not clarify.md's own "
2355
+ "STATUS TABLE (AMB/GAP/CON/ASM/OQ/R rows)",
2356
+ "Added a parallel parse/patch path scoped to --doc clarify: "
2357
+ "_parse_clarify_open_items reads OPEN STATUS TABLE rows (posting "
2358
+ "each item's full section as the Jira question text), "
2359
+ "_parse_clarify_answers reads 'clarify:AMB-001: <answer>'-style "
2360
+ "replies, and _patch_clarify_item fills the item's {FILL...} "
2361
+ "placeholder and flips its STATUS TABLE row to the terminal "
2362
+ "status for its type (RESOLVED for AMB/GAP/R, CORRECTED for CON, "
2363
+ "DECIDED for OQ, CONFIRMED/CORRECTED for ASM depending on "
2364
+ "whether the answer starts with 'yes')",
2365
+ "review_push_questions/review_pull_answers now branch on "
2366
+ "doc == 'clarify' for parsing/patching only -- the surrounding "
2367
+ "Jira ticket creation, idempotency-label reuse, and Confluence "
2368
+ "re-push logic is unchanged and fully shared with the existing "
2369
+ "NC-NNN path",
2370
+ "clarify.prompt.md (all 5 packs) documents this under 'Accepted "
2371
+ "reply forms'; review-gates.md's shared block gained a matching "
2372
+ "paragraph, synced into every pack's CLAUDE.md",
2373
+ "16 new tests: STATUS TABLE parsing (including skipping already-"
2374
+ "resolved rows), answer-line parsing, placeholder fill + "
2375
+ "per-type status flip (all 5 terminal statuses, including both "
2376
+ "ASM branches), and end-to-end push-questions/pull-answers CLI "
2377
+ "coverage including the Confluence re-push",
2378
+ "This migration only bumps sdd_version -- no manifest.yml "
2379
+ "field changes for any pack",
2380
+ ],
2381
+ "migrate": lambda m: {**m, "sdd_version": "2.7.60"},
2382
+ },
2345
2383
  ]
2346
2384
 
2347
2385
 
@@ -43,6 +43,17 @@ Rules:
43
43
  - User edits `clarify.md` directly, then says "done" in chat
44
44
  - **"best guess"** / **"continue with best guess"** / **"continue"** — AI applies its best judgment for every unanswered item
45
45
 
46
+ **Items can also be answered via Jira/Confluence instead of chat (if `document_reviews.clarify` is configured in `.specify/integrations.yml`), the same way validate.md's `[NEEDS CLARIFICATION-NNN]` markers already can:**
47
+ ```bash
48
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
49
+ # reviewer replies as a comment, one line per item:
50
+ # clarify:AMB-001: Intentional split — clearing_ref is the JSON field, clearingRef is the DB column
51
+ sdd review pull-answers --doc clarify # pull replies, fill {FILL...} placeholders,
52
+ # flip each STATUS TABLE row (Step 2's mapping),
53
+ # then continue at Step 3
54
+ ```
55
+ Same idempotent-ticket behavior as validate.md: `push-questions` creates one Jira ticket reusing the label `sdd review submit` will later find, so it evolves in place at Step 6 instead of duplicating.
56
+
46
57
  ## After Human Fills Answers
47
58
 
48
59
  ### Step 1 — Read the FULL clarify.md
@@ -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.59" # set by sdd init; used by sdd upgrade
46
+ sdd_version: "2.7.60" # set by sdd init; used by sdd upgrade
47
47
  ai_tool: "" # set by sdd init: claude-code | copilot | cursor | windsurf | other
@@ -368,6 +368,15 @@ reads reviewer replies (a comment starting with the item's ID, e.g.
368
368
  source document, bumping that document's version, and re-pushes that
369
369
  document's own Confluence page immediately so it never goes stale.
370
370
 
371
+ **`clarify.md`'s own items (AMB/GAP/CON/ASM/OQ/R) work the same way**, via
372
+ the same two commands and the same doc key (`--doc clarify`) — even though
373
+ they're tracked by a STATUS TABLE row rather than a bracketed marker.
374
+ Reviewer replies as `clarify:AMB-001: <answer>`; pulling answers fills the
375
+ item's `{FILL...}` placeholder and flips its STATUS TABLE row to the
376
+ correct terminal status for its type (RESOLVED / CONFIRMED / DECIDED /
377
+ CORRECTED), then re-pushes clarify.md's own Confluence page. See
378
+ `clarify.prompt.md`'s "Accepted reply forms."
379
+
371
380
  **Every review-driven edit bumps the version.** Whichever mode surfaced the
372
381
  feedback — a Jira comment, a dashboard comment, or direct chat feedback —
373
382
  increment the document's `Version:` header and append a row to its
@@ -757,6 +757,16 @@ that document's own Confluence page immediately so it never goes stale.
757
757
  Safe to call `pull-answers` unconditionally (e.g. every time you re-run
758
758
  `/validate`) — it's a no-op when there's nothing new.
759
759
 
760
+ `clarify.md`'s own open items (AMB/GAP/CON/ASM/OQ/R) work the same way, even though they're tracked by a STATUS TABLE row instead of a `[NEEDS CLARIFICATION-NNN]` marker:
761
+ ```bash
762
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
763
+ # reviewer replies as a comment, one line per item:
764
+ # clarify:AMB-001: Intentional split — keep both fields
765
+ sdd review pull-answers --doc clarify # fills {FILL...}, flips each STATUS
766
+ # TABLE row (RESOLVED/CONFIRMED/DECIDED/
767
+ # CORRECTED per item type), re-pushes Confluence
768
+ ```
769
+
760
770
  ---
761
771
 
762
772
  ## Scope Presets
@@ -41,6 +41,17 @@ Do NOT proceed to PLAN until all items resolved (by human or best guess).
41
41
  - User edits `clarify.md` directly, then says "done" in chat
42
42
  - **"best guess"** / **"continue with best guess"** / **"continue"** — AI applies its best judgment for every unanswered item
43
43
 
44
+ **Items can also be answered via Jira/Confluence instead of chat (if `document_reviews.clarify` is configured in `.specify/integrations.yml`), the same way validate.md's `[NEEDS CLARIFICATION-NNN]` markers already can:**
45
+ ```bash
46
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
47
+ # reviewer replies as a comment, one line per item:
48
+ # clarify:AMB-001: Intentional split — clearing_ref is the JSON field, clearingRef is the DB column
49
+ sdd review pull-answers --doc clarify # pull replies, fill {FILL...} placeholders,
50
+ # flip each STATUS TABLE row (Step 2's mapping),
51
+ # then continue at Step 3
52
+ ```
53
+ Same idempotent-ticket behavior as validate.md: `push-questions` creates one Jira ticket reusing the label `sdd review submit` will later find, so it evolves in place at Step 6 instead of duplicating.
54
+
44
55
  ## After Human Fills Answers
45
56
 
46
57
  ### Step 1 — Read the FULL clarify.md
@@ -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.59" # set by sdd init; used by sdd upgrade
35
+ sdd_version: "2.7.60" # set by sdd init; used by sdd upgrade
36
36
  ai_tool: "" # set by sdd init: claude-code | copilot | cursor | windsurf | other
@@ -360,6 +360,15 @@ reads reviewer replies (a comment starting with the item's ID, e.g.
360
360
  source document, bumping that document's version, and re-pushes that
361
361
  document's own Confluence page immediately so it never goes stale.
362
362
 
363
+ **`clarify.md`'s own items (AMB/GAP/CON/ASM/OQ/R) work the same way**, via
364
+ the same two commands and the same doc key (`--doc clarify`) — even though
365
+ they're tracked by a STATUS TABLE row rather than a bracketed marker.
366
+ Reviewer replies as `clarify:AMB-001: <answer>`; pulling answers fills the
367
+ item's `{FILL...}` placeholder and flips its STATUS TABLE row to the
368
+ correct terminal status for its type (RESOLVED / CONFIRMED / DECIDED /
369
+ CORRECTED), then re-pushes clarify.md's own Confluence page. See
370
+ `clarify.prompt.md`'s "Accepted reply forms."
371
+
363
372
  **Every review-driven edit bumps the version.** Whichever mode surfaced the
364
373
  feedback — a Jira comment, a dashboard comment, or direct chat feedback —
365
374
  increment the document's `Version:` header and append a row to its
@@ -761,6 +761,16 @@ that document's own Confluence page immediately so it never goes stale.
761
761
  Safe to call `pull-answers` unconditionally (e.g. every time you re-run
762
762
  `/validate`) — it's a no-op when there's nothing new.
763
763
 
764
+ `clarify.md`'s own open items (AMB/GAP/CON/ASM/OQ/R) work the same way, even though they're tracked by a STATUS TABLE row instead of a `[NEEDS CLARIFICATION-NNN]` marker:
765
+ ```bash
766
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
767
+ # reviewer replies as a comment, one line per item:
768
+ # clarify:AMB-001: Intentional split — keep both fields
769
+ sdd review pull-answers --doc clarify # fills {FILL...}, flips each STATUS
770
+ # TABLE row (RESOLVED/CONFIRMED/DECIDED/
771
+ # CORRECTED per item type), re-pushes Confluence
772
+ ```
773
+
764
774
  ---
765
775
 
766
776
  ## Scope Presets
@@ -41,6 +41,17 @@ Do NOT proceed to PLAN until all items resolved (by human or best guess).
41
41
  - User edits `clarify.md` directly, then says "done" in chat
42
42
  - **"best guess"** / **"continue with best guess"** / **"continue"** — AI applies its best judgment for every unanswered item
43
43
 
44
+ **Items can also be answered via Jira/Confluence instead of chat (if `document_reviews.clarify` is configured in `.specify/integrations.yml`), the same way validate.md's `[NEEDS CLARIFICATION-NNN]` markers already can:**
45
+ ```bash
46
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
47
+ # reviewer replies as a comment, one line per item:
48
+ # clarify:AMB-001: Intentional split — clearing_ref is the JSON field, clearingRef is the DB column
49
+ sdd review pull-answers --doc clarify # pull replies, fill {FILL...} placeholders,
50
+ # flip each STATUS TABLE row (Step 2's mapping),
51
+ # then continue at Step 3
52
+ ```
53
+ Same idempotent-ticket behavior as validate.md: `push-questions` creates one Jira ticket reusing the label `sdd review submit` will later find, so it evolves in place at Step 6 instead of duplicating.
54
+
44
55
  ## After Human Fills Answers
45
56
 
46
57
  ### Step 1 — Read the FULL clarify.md
@@ -32,5 +32,5 @@ testing_style: "paired"
32
32
  # If using sdd-universal instead, set project_type: "fullstack" in its manifest.yml
33
33
  # project_type: "fullstack"
34
34
 
35
- sdd_version: "2.7.59" # set by sdd init; used by sdd upgrade
35
+ sdd_version: "2.7.60" # set by sdd init; used by sdd upgrade
36
36
  ai_tool: "" # set by sdd init: claude-code | copilot | cursor | windsurf | other
@@ -386,6 +386,15 @@ reads reviewer replies (a comment starting with the item's ID, e.g.
386
386
  source document, bumping that document's version, and re-pushes that
387
387
  document's own Confluence page immediately so it never goes stale.
388
388
 
389
+ **`clarify.md`'s own items (AMB/GAP/CON/ASM/OQ/R) work the same way**, via
390
+ the same two commands and the same doc key (`--doc clarify`) — even though
391
+ they're tracked by a STATUS TABLE row rather than a bracketed marker.
392
+ Reviewer replies as `clarify:AMB-001: <answer>`; pulling answers fills the
393
+ item's `{FILL...}` placeholder and flips its STATUS TABLE row to the
394
+ correct terminal status for its type (RESOLVED / CONFIRMED / DECIDED /
395
+ CORRECTED), then re-pushes clarify.md's own Confluence page. See
396
+ `clarify.prompt.md`'s "Accepted reply forms."
397
+
389
398
  **Every review-driven edit bumps the version.** Whichever mode surfaced the
390
399
  feedback — a Jira comment, a dashboard comment, or direct chat feedback —
391
400
  increment the document's `Version:` header and append a row to its
@@ -763,6 +763,16 @@ that document's own Confluence page immediately so it never goes stale.
763
763
  Safe to call `pull-answers` unconditionally (e.g. every time you re-run
764
764
  `/validate`) — it's a no-op when there's nothing new.
765
765
 
766
+ `clarify.md`'s own open items (AMB/GAP/CON/ASM/OQ/R) work the same way, even though they're tracked by a STATUS TABLE row instead of a `[NEEDS CLARIFICATION-NNN]` marker:
767
+ ```bash
768
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
769
+ # reviewer replies as a comment, one line per item:
770
+ # clarify:AMB-001: Intentional split — keep both fields
771
+ sdd review pull-answers --doc clarify # fills {FILL...}, flips each STATUS
772
+ # TABLE row (RESOLVED/CONFIRMED/DECIDED/
773
+ # CORRECTED per item type), re-pushes Confluence
774
+ ```
775
+
766
776
  ---
767
777
 
768
778
  ## Scope Presets
@@ -41,6 +41,17 @@ Do NOT proceed to PLAN until all items resolved (by human or best guess).
41
41
  - User edits `clarify.md` directly, then says "done" in chat
42
42
  - **"best guess"** / **"continue with best guess"** / **"continue"** — AI applies its best judgment for every unanswered item
43
43
 
44
+ **Items can also be answered via Jira/Confluence instead of chat (if `document_reviews.clarify` is configured in `.specify/integrations.yml`), the same way validate.md's `[NEEDS CLARIFICATION-NNN]` markers already can:**
45
+ ```bash
46
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
47
+ # reviewer replies as a comment, one line per item:
48
+ # clarify:AMB-001: Intentional split — clearing_ref is the JSON field, clearingRef is the DB column
49
+ sdd review pull-answers --doc clarify # pull replies, fill {FILL...} placeholders,
50
+ # flip each STATUS TABLE row (Step 2's mapping),
51
+ # then continue at Step 3
52
+ ```
53
+ Same idempotent-ticket behavior as validate.md: `push-questions` creates one Jira ticket reusing the label `sdd review submit` will later find, so it evolves in place at Step 6 instead of duplicating.
54
+
44
55
  ## After Human Fills Answers
45
56
 
46
57
  ### Step 1 — Read the FULL clarify.md
@@ -32,5 +32,5 @@ testing_style: "paired"
32
32
  # If using sdd-universal instead, set project_type: "mobile" in its manifest.yml
33
33
  # project_type: "mobile"
34
34
 
35
- sdd_version: "2.7.59" # set by sdd init; used by sdd upgrade
35
+ sdd_version: "2.7.60" # set by sdd init; used by sdd upgrade
36
36
  ai_tool: "" # set by sdd init: claude-code | copilot | cursor | windsurf | other
@@ -359,6 +359,15 @@ reads reviewer replies (a comment starting with the item's ID, e.g.
359
359
  source document, bumping that document's version, and re-pushes that
360
360
  document's own Confluence page immediately so it never goes stale.
361
361
 
362
+ **`clarify.md`'s own items (AMB/GAP/CON/ASM/OQ/R) work the same way**, via
363
+ the same two commands and the same doc key (`--doc clarify`) — even though
364
+ they're tracked by a STATUS TABLE row rather than a bracketed marker.
365
+ Reviewer replies as `clarify:AMB-001: <answer>`; pulling answers fills the
366
+ item's `{FILL...}` placeholder and flips its STATUS TABLE row to the
367
+ correct terminal status for its type (RESOLVED / CONFIRMED / DECIDED /
368
+ CORRECTED), then re-pushes clarify.md's own Confluence page. See
369
+ `clarify.prompt.md`'s "Accepted reply forms."
370
+
362
371
  **Every review-driven edit bumps the version.** Whichever mode surfaced the
363
372
  feedback — a Jira comment, a dashboard comment, or direct chat feedback —
364
373
  increment the document's `Version:` header and append a row to its
@@ -761,6 +761,16 @@ that document's own Confluence page immediately so it never goes stale.
761
761
  Safe to call `pull-answers` unconditionally (e.g. every time you re-run
762
762
  `/validate`) — it's a no-op when there's nothing new.
763
763
 
764
+ `clarify.md`'s own open items (AMB/GAP/CON/ASM/OQ/R) work the same way, even though they're tracked by a STATUS TABLE row instead of a `[NEEDS CLARIFICATION-NNN]` marker:
765
+ ```bash
766
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
767
+ # reviewer replies as a comment, one line per item:
768
+ # clarify:AMB-001: Intentional split — keep both fields
769
+ sdd review pull-answers --doc clarify # fills {FILL...}, flips each STATUS
770
+ # TABLE row (RESOLVED/CONFIRMED/DECIDED/
771
+ # CORRECTED per item type), re-pushes Confluence
772
+ ```
773
+
764
774
  ---
765
775
 
766
776
  ## Scope Presets
@@ -43,6 +43,17 @@ Rules:
43
43
  - User edits `clarify.md` directly, then says "done" in chat
44
44
  - **"best guess"** / **"continue with best guess"** / **"continue"** — AI applies its best judgment for every unanswered item
45
45
 
46
+ **Items can also be answered via Jira/Confluence instead of chat (if `document_reviews.clarify` is configured in `.specify/integrations.yml`), the same way validate.md's `[NEEDS CLARIFICATION-NNN]` markers already can:**
47
+ ```bash
48
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
49
+ # reviewer replies as a comment, one line per item:
50
+ # clarify:AMB-001: Intentional split — clearing_ref is the JSON field, clearingRef is the DB column
51
+ sdd review pull-answers --doc clarify # pull replies, fill {FILL...} placeholders,
52
+ # flip each STATUS TABLE row (Step 2's mapping),
53
+ # then continue at Step 3
54
+ ```
55
+ Same idempotent-ticket behavior as validate.md: `push-questions` creates one Jira ticket reusing the label `sdd review submit` will later find, so it evolves in place at Step 6 instead of duplicating.
56
+
46
57
  ## After Human Fills Answers
47
58
 
48
59
  ### Step 1 — Read the FULL clarify.md
@@ -38,5 +38,5 @@ plan_mode: "unified"
38
38
  # bdd: Given/When/Then specs drive tests, written before implementation
39
39
  testing_style: "paired"
40
40
 
41
- sdd_version: "2.7.59" # set by sdd init; used by sdd upgrade
41
+ sdd_version: "2.7.60" # set by sdd init; used by sdd upgrade
42
42
  ai_tool: "" # set by sdd init: claude-code | copilot | cursor | windsurf | other
@@ -354,6 +354,15 @@ reads reviewer replies (a comment starting with the item's ID, e.g.
354
354
  source document, bumping that document's version, and re-pushes that
355
355
  document's own Confluence page immediately so it never goes stale.
356
356
 
357
+ **`clarify.md`'s own items (AMB/GAP/CON/ASM/OQ/R) work the same way**, via
358
+ the same two commands and the same doc key (`--doc clarify`) — even though
359
+ they're tracked by a STATUS TABLE row rather than a bracketed marker.
360
+ Reviewer replies as `clarify:AMB-001: <answer>`; pulling answers fills the
361
+ item's `{FILL...}` placeholder and flips its STATUS TABLE row to the
362
+ correct terminal status for its type (RESOLVED / CONFIRMED / DECIDED /
363
+ CORRECTED), then re-pushes clarify.md's own Confluence page. See
364
+ `clarify.prompt.md`'s "Accepted reply forms."
365
+
357
366
  **Every review-driven edit bumps the version.** Whichever mode surfaced the
358
367
  feedback — a Jira comment, a dashboard comment, or direct chat feedback —
359
368
  increment the document's `Version:` header and append a row to its
@@ -770,6 +770,16 @@ that document's own Confluence page immediately so it never goes stale.
770
770
  Safe to call `pull-answers` unconditionally (e.g. every time you re-run
771
771
  `/validate`) — it's a no-op when there's nothing new.
772
772
 
773
+ `clarify.md`'s own open items (AMB/GAP/CON/ASM/OQ/R) work the same way, even though they're tracked by a STATUS TABLE row instead of a `[NEEDS CLARIFICATION-NNN]` marker:
774
+ ```bash
775
+ sdd review push-questions --doc clarify # push all OPEN items to Jira + Confluence
776
+ # reviewer replies as a comment, one line per item:
777
+ # clarify:AMB-001: Intentional split — keep both fields
778
+ sdd review pull-answers --doc clarify # fills {FILL...}, flips each STATUS
779
+ # TABLE row (RESOLVED/CONFIRMED/DECIDED/
780
+ # CORRECTED per item type), re-pushes Confluence
781
+ ```
782
+
773
783
  ---
774
784
 
775
785
  ## Scope Presets
@@ -1 +0,0 @@
1
- __version__ = "2.7.59"