vstack 3.1.1__tar.gz → 3.3.0__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 (230) hide show
  1. {vstack-3.1.1 → vstack-3.3.0}/PKG-INFO +127 -3
  2. {vstack-3.1.1 → vstack-3.3.0}/README-pypi.md +126 -2
  3. {vstack-3.1.1 → vstack-3.3.0}/pyproject.toml +24 -15
  4. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_migrations/README.md +3 -2
  5. vstack-3.3.0/src/vstack/_templates/agents/_partials/agent-skill-boundary.md +7 -0
  6. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/architect/config.yaml +2 -2
  7. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/architect/template.md +20 -7
  8. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/designer/config.yaml +3 -3
  9. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/designer/template.md +24 -11
  10. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/engineer/config.yaml +1 -1
  11. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/engineer/template.md +14 -9
  12. vstack-3.3.0/src/vstack/_templates/agents/planner/config.yaml +28 -0
  13. vstack-3.3.0/src/vstack/_templates/agents/planner/template.md +128 -0
  14. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/product/config.yaml +2 -2
  15. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/product/template.md +24 -11
  16. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/release/artifacts/release-summary.md +1 -1
  17. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/release/config.yaml +3 -3
  18. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/release/template.md +26 -13
  19. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/tester/config.yaml +2 -2
  20. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/tester/template.md +23 -10
  21. vstack-3.3.0/src/vstack/_templates/hooks/log-retention-cleanup/hook.yaml +108 -0
  22. vstack-3.3.0/src/vstack/_templates/hooks/post-commit-security-scan/hook.yaml +73 -0
  23. vstack-3.3.0/src/vstack/_templates/hooks/post-edit-format/hook.yaml +70 -0
  24. vstack-3.3.0/src/vstack/_templates/hooks/post-edit-markdown-quality/hook.yaml +73 -0
  25. vstack-3.3.0/src/vstack/_templates/hooks/pre-tool-safety-gate/hook.yaml +93 -0
  26. vstack-3.3.0/src/vstack/_templates/hooks/session-audit/hook.yaml +248 -0
  27. vstack-3.3.0/src/vstack/_templates/project/.vstack/config.yaml +211 -0
  28. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/agents/generator.py +148 -53
  29. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/artifacts/protocol.py +5 -4
  30. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/constants.py +12 -2
  31. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/init.py +81 -0
  32. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/install.py +4 -3
  33. vstack-3.3.0/src/vstack/cli/interface.py +660 -0
  34. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/migrate.py +173 -20
  35. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/service.py +36 -4
  36. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/verify.py +3 -0
  37. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/constants.py +43 -5
  38. vstack-3.3.0/src/vstack/hooks/__init__.py +5 -0
  39. vstack-3.3.0/src/vstack/hooks/config.py +22 -0
  40. vstack-3.3.0/src/vstack/hooks/constants.py +10 -0
  41. vstack-3.3.0/src/vstack/hooks/generator.py +339 -0
  42. vstack-3.1.1/src/vstack/_templates/agents/_partials/agent-skill-boundary.md +0 -5
  43. vstack-3.1.1/src/vstack/_templates/project/.vstack/config.yaml +0 -96
  44. vstack-3.1.1/src/vstack/cli/interface.py +0 -277
  45. {vstack-3.1.1 → vstack-3.3.0}/LICENSE +0 -0
  46. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/__init__.py +0 -0
  47. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/__main__.py +0 -0
  48. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_migrations/v2_to_v3.yaml +0 -0
  49. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/architect/artifacts/adr/NNN-template.md +0 -0
  50. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/architect/artifacts/overview.md +0 -0
  51. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/designer/artifacts/overview.md +0 -0
  52. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/engineer/artifacts/issues/postmortem.md +0 -0
  53. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/engineer/artifacts/issues/rca.md +0 -0
  54. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/product/artifacts/changes/change-request.md +0 -0
  55. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/product/artifacts/issues/issue.md +0 -0
  56. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/product/artifacts/requirements.md +0 -0
  57. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/product/artifacts/roadmap.md +0 -0
  58. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/product/artifacts/vision.md +0 -0
  59. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/tester/artifacts/performance-baseline.md +0 -0
  60. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/tester/artifacts/security-report.md +0 -0
  61. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/agents/tester/artifacts/test-report.md +0 -0
  62. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/git/config.yaml +0 -0
  63. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/git/template.md +0 -0
  64. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/helm/config.yaml +0 -0
  65. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/helm/template.md +0 -0
  66. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/java/config.yaml +0 -0
  67. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/java/template.md +0 -0
  68. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/k8s/config.yaml +0 -0
  69. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/k8s/template.md +0 -0
  70. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/markdown/config.yaml +0 -0
  71. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/markdown/template.md +0 -0
  72. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/python/config.yaml +0 -0
  73. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/python/template.md +0 -0
  74. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/rancher/config.yaml +0 -0
  75. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/rancher/template.md +0 -0
  76. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/security/config.yaml +0 -0
  77. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/security/template.md +0 -0
  78. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/terraform/config.yaml +0 -0
  79. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/terraform/template.md +0 -0
  80. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/terragrunt/config.yaml +0 -0
  81. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/terragrunt/template.md +0 -0
  82. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/testing/config.yaml +0 -0
  83. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/testing/template.md +0 -0
  84. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/typescript/config.yaml +0 -0
  85. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/instructions/typescript/template.md +0 -0
  86. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/api-design-review/config.yaml +0 -0
  87. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/api-design-review/template.md +0 -0
  88. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/architecture-risk/config.yaml +0 -0
  89. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/architecture-risk/template.md +0 -0
  90. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/code-review/config.yaml +0 -0
  91. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/code-review/template.md +0 -0
  92. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/dependency-audit/config.yaml +0 -0
  93. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/dependency-audit/template.md +0 -0
  94. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/incident-timeline/config.yaml +0 -0
  95. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/incident-timeline/template.md +0 -0
  96. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/migration-safety/config.yaml +0 -0
  97. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/migration-safety/template.md +0 -0
  98. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/release-readiness/config.yaml +0 -0
  99. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/prompts/release-readiness/template.md +0 -0
  100. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/_partials/base-branch.md +0 -0
  101. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/_partials/observability-checklist.md +0 -0
  102. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/_partials/run-tests.md +0 -0
  103. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/_partials/skill-context.md +0 -0
  104. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/adr/config.yaml +0 -0
  105. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/adr/template.md +0 -0
  106. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/analyse/config.yaml +0 -0
  107. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/analyse/template.md +0 -0
  108. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/architecture/config.yaml +0 -0
  109. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/architecture/template.md +0 -0
  110. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/aws-cli/config.yaml +0 -0
  111. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/aws-cli/template.md +0 -0
  112. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/cicd/config.yaml +0 -0
  113. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/cicd/template.md +0 -0
  114. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/cloudformation/config.yaml +0 -0
  115. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/cloudformation/template.md +0 -0
  116. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/code-review/config.yaml +0 -0
  117. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/code-review/template.md +0 -0
  118. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/codeql/config.yaml +0 -0
  119. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/codeql/template.md +0 -0
  120. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/concise/config.yaml +0 -0
  121. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/concise/template.md +0 -0
  122. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/consult/config.yaml +0 -0
  123. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/consult/template.md +0 -0
  124. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/container/config.yaml +0 -0
  125. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/container/template.md +0 -0
  126. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/conventional-commit/config.yaml +0 -0
  127. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/conventional-commit/template.md +0 -0
  128. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/debug/config.yaml +0 -0
  129. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/debug/template.md +0 -0
  130. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/dependabot/config.yaml +0 -0
  131. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/dependabot/template.md +0 -0
  132. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/dependency/config.yaml +0 -0
  133. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/dependency/template.md +0 -0
  134. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/design/config.yaml +0 -0
  135. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/design/template.md +0 -0
  136. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/docs/config.yaml +0 -0
  137. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/docs/template.md +0 -0
  138. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/explore/config.yaml +0 -0
  139. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/explore/template.md +0 -0
  140. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/gdpr/config.yaml +0 -0
  141. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/gdpr/template.md +0 -0
  142. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/gh-issues/config.yaml +0 -0
  143. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/gh-issues/template.md +0 -0
  144. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/gh-release/config.yaml +0 -0
  145. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/gh-release/template.md +0 -0
  146. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/guardrails/config.yaml +0 -0
  147. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/guardrails/template.md +0 -0
  148. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/helm/config.yaml +0 -0
  149. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/helm/template.md +0 -0
  150. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/incident/config.yaml +0 -0
  151. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/incident/template.md +0 -0
  152. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/inspect/config.yaml +0 -0
  153. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/inspect/template.md +0 -0
  154. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/k8s/config.yaml +0 -0
  155. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/k8s/template.md +0 -0
  156. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/migrate/config.yaml +0 -0
  157. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/migrate/template.md +0 -0
  158. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/onboard/config.yaml +0 -0
  159. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/onboard/template.md +0 -0
  160. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/openapi/config.yaml +0 -0
  161. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/openapi/template.md +0 -0
  162. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/performance/config.yaml +0 -0
  163. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/performance/template.md +0 -0
  164. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/postmortem/config.yaml +0 -0
  165. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/postmortem/template.md +0 -0
  166. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/pr/config.yaml +0 -0
  167. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/pr/template.md +0 -0
  168. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/rancher/config.yaml +0 -0
  169. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/rancher/template.md +0 -0
  170. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/rca/config.yaml +0 -0
  171. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/rca/template.md +0 -0
  172. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/refactor/config.yaml +0 -0
  173. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/refactor/template.md +0 -0
  174. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/release-notes/config.yaml +0 -0
  175. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/release-notes/template.md +0 -0
  176. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/requirements/config.yaml +0 -0
  177. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/requirements/template.md +0 -0
  178. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/secret-scan/config.yaml +0 -0
  179. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/secret-scan/template.md +0 -0
  180. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/security/config.yaml +0 -0
  181. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/security/template.md +0 -0
  182. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/terraform/config.yaml +0 -0
  183. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/terraform/template.md +0 -0
  184. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/terragrunt/config.yaml +0 -0
  185. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/terragrunt/template.md +0 -0
  186. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/threat-model/config.yaml +0 -0
  187. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/threat-model/template.md +0 -0
  188. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/verify/config.yaml +0 -0
  189. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/verify/template.md +0 -0
  190. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/vision/config.yaml +0 -0
  191. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/_templates/skills/vision/template.md +0 -0
  192. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/agents/__init__.py +0 -0
  193. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/agents/config.py +0 -0
  194. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/agents/constants.py +0 -0
  195. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/artifacts/__init__.py +0 -0
  196. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/artifacts/config.py +0 -0
  197. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/artifacts/constants.py +0 -0
  198. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/artifacts/generator.py +0 -0
  199. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/artifacts/models.py +0 -0
  200. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/__init__.py +0 -0
  201. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/base.py +0 -0
  202. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/catalog.py +0 -0
  203. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/manifest.py +0 -0
  204. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/parser.py +0 -0
  205. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/report.py +0 -0
  206. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/status.py +0 -0
  207. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/uninstall.py +0 -0
  208. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/cli/validate.py +0 -0
  209. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/frontmatter/__init__.py +0 -0
  210. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/frontmatter/parser.py +0 -0
  211. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/frontmatter/schema.py +0 -0
  212. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/frontmatter/serializer.py +0 -0
  213. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/instructions/__init__.py +0 -0
  214. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/instructions/config.py +0 -0
  215. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/instructions/constants.py +0 -0
  216. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/instructions/generator.py +0 -0
  217. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/main.py +0 -0
  218. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/manifest/__init__.py +0 -0
  219. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/manifest/store.py +0 -0
  220. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/models.py +0 -0
  221. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/prompts/__init__.py +0 -0
  222. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/prompts/config.py +0 -0
  223. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/prompts/constants.py +0 -0
  224. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/prompts/generator.py +0 -0
  225. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/skills/__init__.py +0 -0
  226. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/skills/config.py +0 -0
  227. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/skills/constants.py +0 -0
  228. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/skills/generator.py +0 -0
  229. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/skills/models.py +0 -0
  230. {vstack-3.1.1 → vstack-3.3.0}/src/vstack/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vstack
3
- Version: 3.1.1
3
+ Version: 3.3.0
4
4
  Summary: VS Code-native AI engineering workflow system for microservices, libraries, and backend systems.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -45,7 +45,7 @@ The VS Code-native AI workflow system for backend engineering.
45
45
 
46
46
  vstack installs structured agents, skills, instructions, and prompts into `.github/` so GitHub Copilot Agent Mode can run repeatable backend workflows with clear role boundaries.
47
47
 
48
- It provides a fixed role model for end-to-end software delivery: `product`, `architect`, `designer`, `engineer`, `tester`, and `release`.
48
+ It provides six delivery roles for end-to-end software work: `product`, `architect`, `designer`, `engineer`, `tester`, and `release`, coordinated by `planner`.
49
49
 
50
50
  ## Best for
51
51
 
@@ -55,7 +55,7 @@ It provides a fixed role model for end-to-end software delivery: `product`, `arc
55
55
 
56
56
  ## What you get
57
57
 
58
- - Fixed role model: `product`, `architect`, `designer`, `engineer`, `tester`, `release`
58
+ - Fixed role model: six delivery roles plus a planner coordinator
59
59
  - Template-driven install model from `src/vstack/_templates/`
60
60
  - Backend-first verification, security, and release discipline
61
61
  - One runtime dependency: PyYAML
@@ -229,6 +229,130 @@ vstack install --dry-run
229
229
 
230
230
  The summary lists preserved files as `type/name` selectors (e.g. `agent/engineer`). Resolve each conflict with `--force-name type/name` to overwrite, `--adopt-name type/name` to take ownership without overwriting, or `--force` to overwrite everything.
231
231
 
232
+ ## Reading `.vstack/config.yaml`
233
+
234
+ - Lines starting with `#` are comments, explanation, or example configuration and are not active.
235
+ - Only uncommented YAML keys are active configuration.
236
+ - To enable an example block, remove `#` from that block and keep valid YAML indentation.
237
+ - After any config change, run `vstack init` to apply it to generated `.github/` artifacts.
238
+
239
+ ## Workflow modes
240
+
241
+ vstack supports three workflow modes via `.vstack/config.yaml`:
242
+
243
+ ```yaml
244
+ workflow:
245
+ mode: agentic # default
246
+ ```
247
+
248
+ After changing `workflow.mode`, regenerate artifacts:
249
+
250
+ ```bash
251
+ vstack init
252
+ ```
253
+
254
+ | Mode | Behavior | Planner file | Worker handoff buttons |
255
+ | --------- | ------------------------------------------------------------ | ------------- | ---------------------- |
256
+ | `agentic` | Planner orchestrates stage progression using subagents | generated | omitted |
257
+ | `manual` | User progresses stage-by-stage manually | not generated | shown |
258
+ | `hybrid` | Both planner orchestration and manual handoffs are available | generated | shown |
259
+
260
+ Execution semantics:
261
+
262
+ - `workflow.stages` order is the canonical progression order.
263
+ - `agentic` is stage-sequential by default: planner advances one stage at a time in configured order.
264
+ - Set `depends_on` to unlock a DAG topology and let planner run independent branches in parallel.
265
+
266
+ **Parallel stages with `depends_on`:** By default each stage implicitly depends on the previous one. Add `depends_on` to declare explicit predecessors. The canonical vstack DAG (seeded automatically by `vstack install`):
267
+
268
+ ```yaml
269
+ workflow:
270
+ mode: agentic
271
+ version: 1
272
+ stages:
273
+ - role: product
274
+ gate: required
275
+ hitl: always
276
+ - role: architect
277
+ gate: required
278
+ hitl: always
279
+ depends_on: [product]
280
+ - role: designer
281
+ gate: optional
282
+ hitl: on-change
283
+ depends_on: [product] # runs in parallel with architect
284
+ - role: engineer
285
+ gate: required
286
+ hitl: always
287
+ depends_on: [architect, designer] # waits for both
288
+ - role: tester
289
+ gate: required
290
+ hitl: always
291
+ depends_on: [engineer]
292
+ - role: release
293
+ gate: required
294
+ hitl: always
295
+ depends_on: [tester]
296
+ ```
297
+
298
+ `depends_on: []` marks a root stage. Absent `depends_on` falls back to sequential. Circular dependencies are caught at install/init time.
299
+
300
+ Handoff target semantics:
301
+
302
+ - `handoffs.prompt` is the transition prompt text.
303
+ - If `handoffs.agent` is omitted, the target defaults to the next role in `workflow.stages`.
304
+ - You can set `handoffs.agent` explicitly to override that default target in `manual`/`hybrid`.
305
+ - In `agentic`, worker handoff buttons are hidden; planner controls progression.
306
+
307
+ Mode quickstart in Copilot Agent Mode:
308
+
309
+ In `agentic` mode, `@planner` is the primary entry point. Start every session with `@planner` and let it drive all stage transitions automatically.
310
+
311
+ | Mode | Start here | First prompt example |
312
+ | --------- | ------------------------ | ------------------------------------------------------- |
313
+ | `agentic` | `@planner` | `@planner Run the workflow for this repository change.` |
314
+ | `manual` | `@product` | `@product Define requirements for this change.` |
315
+ | `hybrid` | `@planner` or `@product` | `@planner Run the workflow for this repository change.` |
316
+
317
+ What planner does: reads `workflow.stages` and `depends_on`, invokes each role agent as a subagent at the right time, runs independent branches in parallel when `depends_on` permits, pauses at each gate for human approval, and reports a structured stage outcome after each step. Valid role names: `product`, `architect`, `designer`, `engineer`, `tester`, `release`.
318
+
319
+ Agentic runbook (copy/paste):
320
+
321
+ ```text
322
+ @planner Run the workflow for this repository change.
323
+ @planner Show current stage status, ready stages, blocked stages, and next action.
324
+ @planner Continue with all ready stages in parallel where workflow.depends_on allows it.
325
+ @planner Pause at required HITL gates and ask for approval before advancing.
326
+ @planner Finalize with a release-readiness summary and list changed artifacts.
327
+ ```
328
+
329
+ Troubleshooting: why planner is not running stages in parallel
330
+
331
+ - Check `workflow.mode` in `.vstack/config.yaml`: parallel orchestration requires `agentic` (or planner-led `hybrid`).
332
+ - Validate stage dependencies: run `vstack validate` to catch invalid roles, self-dependencies, and cycles.
333
+ - Inspect `depends_on` shape: a stage runs only when all listed predecessors are `ready` or `skipped`.
334
+ - Check implicit sequential fallback: if `depends_on` is omitted, the stage depends on the previous stage.
335
+ - Check optional stage behavior: `gate: optional` can be skipped when unaffected, reducing apparent parallel fan-out.
336
+ - Check blockers in stage report: any `blocked` predecessor prevents dependent stages from becoming ready.
337
+ - Check mixed execution path: in `hybrid`, mixing manual handoffs and planner in one session can mask parallel readiness.
338
+ - Confirm you started with planner: in `agentic`, begin with `@planner`, not a worker role agent.
339
+
340
+ Usage guidance:
341
+
342
+ - Use `agentic` when you want one deterministic orchestration path.
343
+ - Use `manual` when your team prefers explicit user-controlled stage transitions.
344
+ - Use `hybrid` only when your team intentionally wants both options.
345
+
346
+ Hybrid operating rule:
347
+
348
+ - Choose one path per session (planner-led or manual handoffs) and stay on it.
349
+ - Mixing both paths in one session increases the chance of duplicate stage transitions.
350
+
351
+ Hybrid warning:
352
+
353
+ - In `hybrid`, users can click handoff buttons while a planner-led flow is also available.
354
+ - This can cause unintended progression jumps or duplicated transitions if your process assumes one strict path.
355
+
232
356
  ## Fast troubleshooting
233
357
 
234
358
  - Command not found after install: ensure your `pipx` binary path is in `PATH`
@@ -14,7 +14,7 @@ The VS Code-native AI workflow system for backend engineering.
14
14
 
15
15
  vstack installs structured agents, skills, instructions, and prompts into `.github/` so GitHub Copilot Agent Mode can run repeatable backend workflows with clear role boundaries.
16
16
 
17
- It provides a fixed role model for end-to-end software delivery: `product`, `architect`, `designer`, `engineer`, `tester`, and `release`.
17
+ It provides six delivery roles for end-to-end software work: `product`, `architect`, `designer`, `engineer`, `tester`, and `release`, coordinated by `planner`.
18
18
 
19
19
  ## Best for
20
20
 
@@ -24,7 +24,7 @@ It provides a fixed role model for end-to-end software delivery: `product`, `arc
24
24
 
25
25
  ## What you get
26
26
 
27
- - Fixed role model: `product`, `architect`, `designer`, `engineer`, `tester`, `release`
27
+ - Fixed role model: six delivery roles plus a planner coordinator
28
28
  - Template-driven install model from `src/vstack/_templates/`
29
29
  - Backend-first verification, security, and release discipline
30
30
  - One runtime dependency: PyYAML
@@ -198,6 +198,130 @@ vstack install --dry-run
198
198
 
199
199
  The summary lists preserved files as `type/name` selectors (e.g. `agent/engineer`). Resolve each conflict with `--force-name type/name` to overwrite, `--adopt-name type/name` to take ownership without overwriting, or `--force` to overwrite everything.
200
200
 
201
+ ## Reading `.vstack/config.yaml`
202
+
203
+ - Lines starting with `#` are comments, explanation, or example configuration and are not active.
204
+ - Only uncommented YAML keys are active configuration.
205
+ - To enable an example block, remove `#` from that block and keep valid YAML indentation.
206
+ - After any config change, run `vstack init` to apply it to generated `.github/` artifacts.
207
+
208
+ ## Workflow modes
209
+
210
+ vstack supports three workflow modes via `.vstack/config.yaml`:
211
+
212
+ ```yaml
213
+ workflow:
214
+ mode: agentic # default
215
+ ```
216
+
217
+ After changing `workflow.mode`, regenerate artifacts:
218
+
219
+ ```bash
220
+ vstack init
221
+ ```
222
+
223
+ | Mode | Behavior | Planner file | Worker handoff buttons |
224
+ | --------- | ------------------------------------------------------------ | ------------- | ---------------------- |
225
+ | `agentic` | Planner orchestrates stage progression using subagents | generated | omitted |
226
+ | `manual` | User progresses stage-by-stage manually | not generated | shown |
227
+ | `hybrid` | Both planner orchestration and manual handoffs are available | generated | shown |
228
+
229
+ Execution semantics:
230
+
231
+ - `workflow.stages` order is the canonical progression order.
232
+ - `agentic` is stage-sequential by default: planner advances one stage at a time in configured order.
233
+ - Set `depends_on` to unlock a DAG topology and let planner run independent branches in parallel.
234
+
235
+ **Parallel stages with `depends_on`:** By default each stage implicitly depends on the previous one. Add `depends_on` to declare explicit predecessors. The canonical vstack DAG (seeded automatically by `vstack install`):
236
+
237
+ ```yaml
238
+ workflow:
239
+ mode: agentic
240
+ version: 1
241
+ stages:
242
+ - role: product
243
+ gate: required
244
+ hitl: always
245
+ - role: architect
246
+ gate: required
247
+ hitl: always
248
+ depends_on: [product]
249
+ - role: designer
250
+ gate: optional
251
+ hitl: on-change
252
+ depends_on: [product] # runs in parallel with architect
253
+ - role: engineer
254
+ gate: required
255
+ hitl: always
256
+ depends_on: [architect, designer] # waits for both
257
+ - role: tester
258
+ gate: required
259
+ hitl: always
260
+ depends_on: [engineer]
261
+ - role: release
262
+ gate: required
263
+ hitl: always
264
+ depends_on: [tester]
265
+ ```
266
+
267
+ `depends_on: []` marks a root stage. Absent `depends_on` falls back to sequential. Circular dependencies are caught at install/init time.
268
+
269
+ Handoff target semantics:
270
+
271
+ - `handoffs.prompt` is the transition prompt text.
272
+ - If `handoffs.agent` is omitted, the target defaults to the next role in `workflow.stages`.
273
+ - You can set `handoffs.agent` explicitly to override that default target in `manual`/`hybrid`.
274
+ - In `agentic`, worker handoff buttons are hidden; planner controls progression.
275
+
276
+ Mode quickstart in Copilot Agent Mode:
277
+
278
+ In `agentic` mode, `@planner` is the primary entry point. Start every session with `@planner` and let it drive all stage transitions automatically.
279
+
280
+ | Mode | Start here | First prompt example |
281
+ | --------- | ------------------------ | ------------------------------------------------------- |
282
+ | `agentic` | `@planner` | `@planner Run the workflow for this repository change.` |
283
+ | `manual` | `@product` | `@product Define requirements for this change.` |
284
+ | `hybrid` | `@planner` or `@product` | `@planner Run the workflow for this repository change.` |
285
+
286
+ What planner does: reads `workflow.stages` and `depends_on`, invokes each role agent as a subagent at the right time, runs independent branches in parallel when `depends_on` permits, pauses at each gate for human approval, and reports a structured stage outcome after each step. Valid role names: `product`, `architect`, `designer`, `engineer`, `tester`, `release`.
287
+
288
+ Agentic runbook (copy/paste):
289
+
290
+ ```text
291
+ @planner Run the workflow for this repository change.
292
+ @planner Show current stage status, ready stages, blocked stages, and next action.
293
+ @planner Continue with all ready stages in parallel where workflow.depends_on allows it.
294
+ @planner Pause at required HITL gates and ask for approval before advancing.
295
+ @planner Finalize with a release-readiness summary and list changed artifacts.
296
+ ```
297
+
298
+ Troubleshooting: why planner is not running stages in parallel
299
+
300
+ - Check `workflow.mode` in `.vstack/config.yaml`: parallel orchestration requires `agentic` (or planner-led `hybrid`).
301
+ - Validate stage dependencies: run `vstack validate` to catch invalid roles, self-dependencies, and cycles.
302
+ - Inspect `depends_on` shape: a stage runs only when all listed predecessors are `ready` or `skipped`.
303
+ - Check implicit sequential fallback: if `depends_on` is omitted, the stage depends on the previous stage.
304
+ - Check optional stage behavior: `gate: optional` can be skipped when unaffected, reducing apparent parallel fan-out.
305
+ - Check blockers in stage report: any `blocked` predecessor prevents dependent stages from becoming ready.
306
+ - Check mixed execution path: in `hybrid`, mixing manual handoffs and planner in one session can mask parallel readiness.
307
+ - Confirm you started with planner: in `agentic`, begin with `@planner`, not a worker role agent.
308
+
309
+ Usage guidance:
310
+
311
+ - Use `agentic` when you want one deterministic orchestration path.
312
+ - Use `manual` when your team prefers explicit user-controlled stage transitions.
313
+ - Use `hybrid` only when your team intentionally wants both options.
314
+
315
+ Hybrid operating rule:
316
+
317
+ - Choose one path per session (planner-led or manual handoffs) and stay on it.
318
+ - Mixing both paths in one session increases the chance of duplicate stage transitions.
319
+
320
+ Hybrid warning:
321
+
322
+ - In `hybrid`, users can click handoff buttons while a planner-led flow is also available.
323
+ - This can cause unintended progression jumps or duplicated transitions if your process assumes one strict path.
324
+
201
325
  ## Fast troubleshooting
202
326
 
203
327
  - Command not found after install: ensure your `pipx` binary path is in `PATH`
@@ -45,7 +45,7 @@ classifiers = [
45
45
  "Topic :: Software Development :: Libraries :: Python Modules",
46
46
  "Topic :: Utilities",
47
47
  ]
48
- version = "3.1.1"
48
+ version = "3.3.0"
49
49
 
50
50
  [project.urls]
51
51
  Homepage = "https://github.com/eschaar/vstack"
@@ -74,16 +74,16 @@ include = [
74
74
  # PEP 621 mode, which otherwise causes noisy key reordering.
75
75
 
76
76
  [tool.poetry.requires-plugins]
77
- poetry-dynamic-versioning = { version = ">=1.0.0,<2.0.0", extras = ["plugin"] }
77
+ poetry-dynamic-versioning = { version = ">=1.10.0,<2.0.0", extras = ["plugin"] }
78
78
 
79
79
  [tool.poetry.group.dev.dependencies]
80
- pytest = ">=9.0"
81
- pytest-cov = ">=6.0"
80
+ pytest = ">=9.0.3"
81
+ pytest-cov = ">=7.1.0"
82
82
  ruff = ">=0.15.12"
83
- mypy = ">=1.20.2"
83
+ mypy = ">=2.1.0"
84
84
  pre-commit = ">=4.6.0"
85
- tox = ">=4.15"
86
- types-PyYAML = ">=6.0"
85
+ tox = ">=4.54.0"
86
+ types-PyYAML = ">=6.0.12.20260510"
87
87
 
88
88
 
89
89
  # ---------------------------------------------------------------------------
@@ -132,12 +132,21 @@ warn_unused_ignores = true
132
132
  warn_return_any = false
133
133
  ignore_missing_imports = true
134
134
 
135
+ # ---------------------------------------------------------------------------
136
+ # pylint
137
+ # ---------------------------------------------------------------------------
138
+
139
+ [tool.pylint.main]
140
+ # Ensure src-layout imports (e.g. vstack.hooks) resolve in editor-integrated pylint runs.
141
+ init-hook = "import sys; sys.path.insert(0, 'src')"
142
+ py-version = "3.11"
143
+
135
144
  # ---------------------------------------------------------------------------
136
145
  # build system
137
146
  # ---------------------------------------------------------------------------
138
147
 
139
148
  [build-system]
140
- requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
149
+ requires = ["poetry-core>=2.4.0", "poetry-dynamic-versioning>=1.10.0,<2.0.0"]
141
150
  build-backend = "poetry_dynamic_versioning.backend"
142
151
 
143
152
  # ---------------------------------------------------------------------------
@@ -168,7 +177,7 @@ extraPaths = ["scripts"]
168
177
  [tool.tox]
169
178
  legacy_tox_ini = """
170
179
  [tox]
171
- min_version = 4.15
180
+ min_version = 4.54.0
172
181
  env_list = py311, py312, py313, py314, lint, type
173
182
  skip_missing_interpreters = true
174
183
 
@@ -176,9 +185,9 @@ skip_missing_interpreters = true
176
185
  description = Run pytest for {env_name}
177
186
  package = skip
178
187
  deps =
179
- pytest>=9.0
180
- pytest-cov>=6.0
181
- pyyaml>=6.0
188
+ pytest>=9.0.3
189
+ pytest-cov>=7.1.0
190
+ pyyaml>=6.0.3
182
191
  setenv =
183
192
  PYTHONPATH = {tox_root}/src
184
193
  commands =
@@ -188,7 +197,7 @@ commands =
188
197
  description = Run ruff lint checks
189
198
  package = skip
190
199
  deps =
191
- ruff>=0.15
200
+ ruff>=0.15.12
192
201
  commands =
193
202
  ruff check src tests
194
203
 
@@ -196,8 +205,8 @@ commands =
196
205
  description = Run mypy type checks
197
206
  package = skip
198
207
  deps =
199
- mypy>=1.20
200
- types-PyYAML>=6.0
208
+ mypy>=2.1.0
209
+ types-PyYAML>=6.0.12.20260510
201
210
  commands =
202
211
  mypy src tests
203
212
  """
@@ -27,8 +27,9 @@ and the current package major.
27
27
  | `--dry-run` | Print moves without touching the filesystem |
28
28
 
29
29
  `vstack migrate` only moves files that exist at the old path; absent files are silently
30
- skipped. It reads `artifacts.root` from `.vstack/config.yaml` and adjusts destination
31
- paths when the project uses a custom docs root.
30
+ skipped. It reads `items.root` from `.vstack/config.yaml` (with `artifacts.root`
31
+ as a legacy fallback) and adjusts destination paths when the project uses a custom
32
+ docs root.
32
33
 
33
34
  ## Schema
34
35
 
@@ -0,0 +1,7 @@
1
+ ## agent-skill boundary
2
+
3
+ - **You (agent) = who/what/when** — decisions, scope, escalation, and handoffs within your role.
4
+ - **Skills = how** — detailed procedures, checklists, and execution playbooks.
5
+ - Invoke the relevant skill for deep procedural work; summarize decisions and outcomes in role output.
6
+ - **Subagents = scoped parallel work** — you may delegate to subagents or same-role variants only when the task can be split into independent workstreams with a clear merge point and your role prompt permits it.
7
+ - Do not split work that overlaps heavily, lacks an obvious merge point, or is too small to justify the coordination overhead.
@@ -4,7 +4,7 @@ description: >
4
4
  Senior software architect. Sets the system blueprint: service decomposition,
5
5
  technology direction, standards, NFRs, and organizational constraints.
6
6
  Structural decisions stay at blueprint level — interaction design is
7
- designer's territory. Reads product artifacts; produces architecture overview
7
+ designer's territory. Reads product items; produces architecture overview
8
8
  and ADRs. Baseline-first on branch.
9
9
  argument-hint: "[design architecture | write ADR | review architecture | check implementation alignment]"
10
10
  tools:
@@ -29,7 +29,7 @@ defaults:
29
29
  design specifications as needed. If your domain is not affected by
30
30
  this change, assess and confirm that explicitly, then pass through to
31
31
  the next stage.
32
- artifacts:
32
+ items:
33
33
  dir: architecture
34
34
  input:
35
35
  - product/**/*.md
@@ -37,6 +37,14 @@ You are a **senior software architect** acting as the **architect role**. You de
37
37
  - Capture significant structural choices in ADRs.
38
38
  - Block progression when architecture/design contract alignment is unclear.
39
39
 
40
+ ## parallel delegation
41
+
42
+ - If the scope naturally decomposes into independent architecture questions, you may split work across subagents or same-role variants.
43
+ - Good split candidates include separate ADRs, distinct failure-mode analyses, boundary decisions, and architecture overview updates when they do not depend on one another.
44
+ - Only split when each workstream has a clear merge point and the architectural conclusions are not mutually dependent.
45
+ - Do not split tightly coupled blueprint decisions that require one consistent system view.
46
+ - Make each delegated context explicit in the output so the resulting architecture baseline remains auditable.
47
+
40
48
  ## communication style
41
49
 
42
50
  - Structured, opinionated, and evidence-based.
@@ -59,13 +67,18 @@ Handoffs you own:
59
67
  - Pass-through: if the architecture is not affected by this change, confirm that explicitly before passing through.
60
68
  - Back to product: material risks, unresolved tradeoffs, and decisions requiring scope change.
61
69
 
70
+ Planner-coordinated mode (`@planner` invokes this role as a subagent):
71
+
72
+ - Execute architect-stage scope only; do not invoke downstream roles unless explicitly asked.
73
+ - End with a stage report containing: `status`, `changes_made`, `updated_items`, `blockers`, and `next_handoff_summary`.
74
+
62
75
  ## assess current state
63
76
 
64
- Before producing any output, scan your configured input artifacts to determine
77
+ Before producing any output, scan your configured input items to determine
65
78
  what work is needed:
66
79
 
67
- 1. Read your input artifacts.
68
- 1. Identify artifacts that require action:
80
+ 1. Read your input items.
81
+ 1. Identify items that require action:
69
82
  - Issues or change requests with status `open` or `draft` that touch architecture.
70
83
  - Vision or requirements that have changed since the last architecture update.
71
84
  - ADRs with status `proposed` that require a decision.
@@ -99,7 +112,7 @@ what work is needed:
99
112
  - Conflicting constraints or unresolvable tradeoffs: escalate to user with options.
100
113
  - Breaking architecture changes without migration plan: block progression.
101
114
 
102
- ## artifacts you use
115
+ ## work items
103
116
 
104
117
  {{AGENT_ARTIFACTS_INPUT}}
105
118
 
@@ -107,8 +120,8 @@ what work is needed:
107
120
 
108
121
  {{AGENT_ARTIFACTS_BASELINE}}
109
122
 
110
- Agents do not write to artifacts owned by other roles. If you discover something
111
- that requires changes to upstream artifacts, flag it and trigger a reverse handoff.
123
+ Agents do not write to items owned by other roles. If you discover something
124
+ that requires changes to upstream items, flag it and trigger a reverse handoff.
112
125
 
113
126
  ## completion checklist
114
127
 
@@ -121,7 +134,7 @@ that requires changes to upstream artifacts, flag it and trigger a reverse hando
121
134
  - `@#concise` — runtime response-style mode (`normal|compact|ultra|status`)
122
135
  - `@#architecture` — architecture document writing and review
123
136
  - `@#adr` — architecture decision record writing (when available)
124
- - `@#docs` — keep architecture artifacts and supporting documentation synchronized
137
+ - `@#docs` — keep architecture items and supporting documentation synchronized
125
138
  - `@#threat-model` — design-time threat modeling (STRIDE-first, with DREAD/PASTA as needed)
126
139
  - `@#code-review` — review existing code for architectural alignment
127
140
  - `@#explore` — codebase discovery and mapping
@@ -4,7 +4,7 @@ description: >
4
4
  Senior interaction designer. Translates architecture blueprint into
5
5
  developer-ready specifications: API contracts, event schemas, data flows,
6
6
  state models, component interfaces, and module boundaries. Reads architecture
7
- artifacts; produces design overview. Baseline-first on branch.
7
+ items; produces design overview. Baseline-first on branch.
8
8
  argument-hint: "[write design | API contracts | event and data flows | state models | interaction review]"
9
9
  tools:
10
10
  - read
@@ -27,8 +27,8 @@ defaults:
27
27
  code and tests as needed. If your domain is not affected by this
28
28
  change, assess and confirm that explicitly, then pass through to
29
29
  engineering. If working on an issue, document findings in RCA or
30
- post-mortem artifacts as relevant.
31
- artifacts:
30
+ post-mortem items as relevant.
31
+ items:
32
32
  dir: design
33
33
  input:
34
34
  - architecture/**/*.md
@@ -26,7 +26,7 @@ You are a **senior interaction designer** acting as the **designer role**. You t
26
26
 
27
27
  - Baseline-first design docs on branch.
28
28
  - Prefer explicit schemas, error models, and flow definitions.
29
- - Keep design artifacts aligned with architecture constraints.
29
+ - Keep design items aligned with architecture constraints.
30
30
  - Optimize for clarity, consistency, and implementability.
31
31
  - If a design choice affects architecture, escalate to architect.
32
32
  - Favor conventions over novelty unless justified.
@@ -34,9 +34,17 @@ You are a **senior interaction designer** acting as the **designer role**. You t
34
34
  ## decision guidelines
35
35
 
36
36
  - Prefer explicit schemas and error contracts over prose-only guidance.
37
- - Escalate structural implications before finalizing design artifacts.
37
+ - Escalate structural implications before finalizing design items.
38
38
  - Keep interface changes backward-aware when existing clients may be affected.
39
39
 
40
+ ## parallel delegation
41
+
42
+ - If the design surface decomposes cleanly, you may split work across subagents or same-role variants.
43
+ - Good split candidates include API contracts, event schemas, state models, UX flows, and module boundaries when they do not share a mandatory merge decision.
44
+ - Only split when each design stream can be validated independently and recombined without ambiguity.
45
+ - Do not split tightly coupled interface decisions that require one coherent contract set.
46
+ - Make the merge point explicit so downstream implementation work sees one actionable design baseline.
47
+
40
48
  ## communication style
41
49
 
42
50
  - Concrete and specification-oriented.
@@ -74,15 +82,20 @@ Handoffs you own:
74
82
  - Pass-through: if the design is not affected by this change, confirm that explicitly before passing through.
75
83
  - Back to architect: design findings that require structural changes.
76
84
 
85
+ Planner-coordinated mode (`@planner` invokes this role as a subagent):
86
+
87
+ - Execute designer-stage scope only; do not invoke downstream roles unless explicitly asked.
88
+ - End with a stage report containing: `status`, `changes_made`, `updated_items`, `blockers`, and `next_handoff_summary`.
89
+
77
90
  ## assess current state
78
91
 
79
- Before producing any output, scan your configured input artifacts to determine
92
+ Before producing any output, scan your configured input items to determine
80
93
  what work is needed:
81
94
 
82
- 1. Read your input artifacts.
83
- 1. Identify artifacts that require action:
95
+ 1. Read your input items.
96
+ 1. Identify items that require action:
84
97
  - Architecture overview or ADRs updated since the last design revision.
85
- - Issues or change requests in the architecture artifacts that affect design.
98
+ - Issues or change requests in the architecture items that affect design.
86
99
  - Design overview missing or inconsistent with current architecture.
87
100
  1. If nothing has changed and no open items require design work, say so
88
101
  explicitly and offer to hand off to the next stage.
@@ -115,7 +128,7 @@ what work is needed:
115
128
  - Contract conflicts with architecture: escalate before implementation.
116
129
  - Unclear requirements affecting interaction decisions: request product clarification.
117
130
 
118
- ## artifacts you use
131
+ ## work items
119
132
 
120
133
  {{AGENT_ARTIFACTS_INPUT}}
121
134
 
@@ -123,12 +136,12 @@ what work is needed:
123
136
 
124
137
  {{AGENT_ARTIFACTS_BASELINE}}
125
138
 
126
- Agents do not write to artifacts owned by other roles. If you discover something
127
- that requires changes to upstream artifacts, flag it and trigger a reverse handoff.
139
+ Agents do not write to items owned by other roles. If you discover something
140
+ that requires changes to upstream items, flag it and trigger a reverse handoff.
128
141
 
129
142
  ## completion checklist
130
143
 
131
- - Design artifacts cover contracts, errors, and edge cases for scoped flows.
144
+ - Design items cover contracts, errors, and edge cases for scoped flows.
132
145
  - Architectural implications have been escalated where required.
133
146
  - Engineer handoff contains concrete implementation-ready contracts.
134
147
 
@@ -137,7 +150,7 @@ that requires changes to upstream artifacts, flag it and trigger a reverse hando
137
150
  - `@#concise` — runtime response-style mode (`normal|compact|ultra|status`)
138
151
  - `@#design` — API and service design
139
152
  - `@#consult` — API ergonomics and developer experience review
140
- - `@#docs` — keep design artifacts and related docs aligned with delivered changes
153
+ - `@#docs` — keep design items and related docs aligned with delivered changes
141
154
  - `@#explore` — codebase discovery and mapping
142
155
  - `@#analyse` — impact analysis, tradeoffs, feasibility
143
156
  - `@#openapi` — OpenAPI 3.1 spec writing and review
@@ -28,7 +28,7 @@ defaults:
28
28
  analysis. If this is an issue (bug, problem, or incident), also produce
29
29
  or update an RCA and, if stakeholder impact is significant, a
30
30
  post-mortem.
31
- artifacts:
31
+ items:
32
32
  input:
33
33
  - product/**/*.md
34
34
  - architecture/**/*.md