@danmoisan/drm-copilot-mcp 0.0.1

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 (380) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -0
  3. package/out/mcp-server.js +17323 -0
  4. package/package.json +36 -0
  5. package/resources/claude-customizations/.claude/agent-memory/orchestrator/MEMORY.md +3 -0
  6. package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_repo_root_is_source_of_truth.md +11 -0
  7. package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_vsce_verify_package_location.md +19 -0
  8. package/resources/claude-customizations/.claude/agent-memory/orchestrator/project_extension_location.md +11 -0
  9. package/resources/claude-customizations/.claude/agent-memory/prd-feature/MEMORY.md +1 -0
  10. package/resources/claude-customizations/.claude/agent-memory/prd-feature/project_push_down_pattern.md +13 -0
  11. package/resources/claude-customizations/.claude/agent-memory/task-researcher/MEMORY.md +3 -0
  12. package/resources/claude-customizations/.claude/agent-memory/task-researcher/project_push_down_claude_dir.md +11 -0
  13. package/resources/claude-customizations/.claude/agents/atomic-executor.md +135 -0
  14. package/resources/claude-customizations/.claude/agents/atomic-planner.md +71 -0
  15. package/resources/claude-customizations/.claude/agents/csharp-typed-engineer.md +69 -0
  16. package/resources/claude-customizations/.claude/agents/epic-review.md +40 -0
  17. package/resources/claude-customizations/.claude/agents/feature-review.md +136 -0
  18. package/resources/claude-customizations/.claude/agents/orchestrator.md +83 -0
  19. package/resources/claude-customizations/.claude/agents/powershell-typed-engineer.md +80 -0
  20. package/resources/claude-customizations/.claude/agents/prd-feature.md +42 -0
  21. package/resources/claude-customizations/.claude/agents/python-typed-engineer.md +72 -0
  22. package/resources/claude-customizations/.claude/agents/staged-review.md +41 -0
  23. package/resources/claude-customizations/.claude/agents/status-updater.md +41 -0
  24. package/resources/claude-customizations/.claude/agents/task-researcher.md +81 -0
  25. package/resources/claude-customizations/.claude/agents/typescript-engineer.md +24 -0
  26. package/resources/claude-customizations/.claude/hooks/check-powershell-test-purity.ps1 +111 -0
  27. package/resources/claude-customizations/.claude/hooks/check-python-test-purity.ps1 +146 -0
  28. package/resources/claude-customizations/.claude/hooks/enforce-evidence-locations.ps1 +150 -0
  29. package/resources/claude-customizations/.claude/hooks/enforce-powershell-batch-budget.ps1 +238 -0
  30. package/resources/claude-customizations/.claude/hooks/enforce-promotion-mcp-only.ps1 +147 -0
  31. package/resources/claude-customizations/.claude/hooks/enforce-python-batch-budget.ps1 +235 -0
  32. package/resources/claude-customizations/.claude/hooks/validate-bash.ps1 +69 -0
  33. package/resources/claude-customizations/.claude/hooks/validate-executor-output.ps1 +296 -0
  34. package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage.ps1 +389 -0
  35. package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output.ps1 +141 -0
  36. package/resources/claude-customizations/.claude/hooks/validate-planner-output.ps1 +288 -0
  37. package/resources/claude-customizations/.claude/hooks/validate-required-artifact-output.ps1 +171 -0
  38. package/resources/claude-customizations/.claude/hooks/validate-task-researcher-output.ps1 +142 -0
  39. package/resources/claude-customizations/.claude/rules/csharp.md +62 -0
  40. package/resources/claude-customizations/.claude/rules/general-code-change.md +71 -0
  41. package/resources/claude-customizations/.claude/rules/general-unit-test.md +60 -0
  42. package/resources/claude-customizations/.claude/rules/powershell.md +97 -0
  43. package/resources/claude-customizations/.claude/rules/python-suppressions.md +143 -0
  44. package/resources/claude-customizations/.claude/rules/python.md +99 -0
  45. package/resources/claude-customizations/.claude/rules/self-explanatory-code-commenting.md +97 -0
  46. package/resources/claude-customizations/.claude/rules/tonality.md +80 -0
  47. package/resources/claude-customizations/.claude/rules/typescript-suppressions.md +66 -0
  48. package/resources/claude-customizations/.claude/rules/typescript.md +45 -0
  49. package/resources/claude-customizations/.claude/settings.json +144 -0
  50. package/resources/claude-customizations/.claude/skills/acceptance-criteria-tracking/SKILL.md +102 -0
  51. package/resources/claude-customizations/.claude/skills/atomic-plan-contract/SKILL.md +189 -0
  52. package/resources/claude-customizations/.claude/skills/commit-message/SKILL.md +65 -0
  53. package/resources/claude-customizations/.claude/skills/csharp-change-budget-router/SKILL.md +90 -0
  54. package/resources/claude-customizations/.claude/skills/csharp-orchestration-state-machine/SKILL.md +58 -0
  55. package/resources/claude-customizations/.claude/skills/csharp-qa-gate/SKILL.md +77 -0
  56. package/resources/claude-customizations/.claude/skills/evidence-and-timestamp-conventions/SKILL.md +164 -0
  57. package/resources/claude-customizations/.claude/skills/execute-hard-lock/SKILL.md +82 -0
  58. package/resources/claude-customizations/.claude/skills/feature-promotion-lifecycle/SKILL.md +115 -0
  59. package/resources/claude-customizations/.claude/skills/feature-review-workflow/SKILL.md +167 -0
  60. package/resources/claude-customizations/.claude/skills/fill-feature-docs/SKILL.md +22 -0
  61. package/resources/claude-customizations/.claude/skills/invoke-csharp-engineer/SKILL.md +64 -0
  62. package/resources/claude-customizations/.claude/skills/invoke-powershell-engineer/SKILL.md +65 -0
  63. package/resources/claude-customizations/.claude/skills/invoke-python-engineer/SKILL.md +64 -0
  64. package/resources/claude-customizations/.claude/skills/make-skill-template/SKILL.md +147 -0
  65. package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +132 -0
  66. package/resources/claude-customizations/.claude/skills/policy-audit-template-usage/SKILL.md +49 -0
  67. package/resources/claude-customizations/.claude/skills/policy-compliance-order/SKILL.md +40 -0
  68. package/resources/claude-customizations/.claude/skills/powershell-change-budget-router/SKILL.md +49 -0
  69. package/resources/claude-customizations/.claude/skills/powershell-orchestration-state-machine/SKILL.md +58 -0
  70. package/resources/claude-customizations/.claude/skills/powershell-qa-gate/SKILL.md +77 -0
  71. package/resources/claude-customizations/.claude/skills/pr-author/SKILL.md +50 -0
  72. package/resources/claude-customizations/.claude/skills/pr-base-branch-merge-base/SKILL.md +56 -0
  73. package/resources/claude-customizations/.claude/skills/pr-context-artifacts/SKILL.md +30 -0
  74. package/resources/claude-customizations/.claude/skills/python-change-budget-router/SKILL.md +79 -0
  75. package/resources/claude-customizations/.claude/skills/python-qa-gate/SKILL.md +77 -0
  76. package/resources/claude-customizations/.claude/skills/remediation-handoff-atomic-planner/SKILL.md +40 -0
  77. package/resources/claude-customizations/.claude/skills/research-issue/SKILL.md +67 -0
  78. package/resources/claude-customizations/.claude/skills/review-epic/SKILL.md +21 -0
  79. package/resources/claude-customizations/.claude/skills/review-feature/SKILL.md +25 -0
  80. package/resources/claude-customizations/.claude/skills/review-staged/SKILL.md +21 -0
  81. package/resources/claude-customizations/.claude/skills/skill-canonical-location-audit/SKILL.md +49 -0
  82. package/resources/claude-customizations/.claude/skills/translate-copilot-to-claude/SKILL.md +295 -0
  83. package/resources/claude-customizations/.claude/skills/update-status/SKILL.md +21 -0
  84. package/resources/claude-dir-customizations/.mcp.json +8 -0
  85. package/resources/codex-and-agents-customizations/.agents/README.md +86 -0
  86. package/resources/codex-and-agents-customizations/.agents/skills/README.md +49 -0
  87. package/resources/codex-and-agents-customizations/.agents/skills/acceptance-criteria-tracking/SKILL.md +107 -0
  88. package/resources/codex-and-agents-customizations/.agents/skills/atomic-executor/SKILL.md +73 -0
  89. package/resources/codex-and-agents-customizations/.agents/skills/atomic-plan-contract/SKILL.md +194 -0
  90. package/resources/codex-and-agents-customizations/.agents/skills/atomic-planner/SKILL.md +87 -0
  91. package/resources/codex-and-agents-customizations/.agents/skills/commit-message/SKILL.md +70 -0
  92. package/resources/codex-and-agents-customizations/.agents/skills/commit-message-conventions/SKILL.md +95 -0
  93. package/resources/codex-and-agents-customizations/.agents/skills/csharp/SKILL.md +67 -0
  94. package/resources/codex-and-agents-customizations/.agents/skills/csharp-change-budget-router/SKILL.md +94 -0
  95. package/resources/codex-and-agents-customizations/.agents/skills/csharp-orchestration-state-machine/SKILL.md +64 -0
  96. package/resources/codex-and-agents-customizations/.agents/skills/csharp-qa-gate/SKILL.md +82 -0
  97. package/resources/codex-and-agents-customizations/.agents/skills/evidence-and-timestamp-conventions/SKILL.md +168 -0
  98. package/resources/codex-and-agents-customizations/.agents/skills/execute-hard-lock/SKILL.md +88 -0
  99. package/resources/codex-and-agents-customizations/.agents/skills/feature-promotion-lifecycle/SKILL.md +129 -0
  100. package/resources/codex-and-agents-customizations/.agents/skills/feature-review/SKILL.md +106 -0
  101. package/resources/codex-and-agents-customizations/.agents/skills/feature-review-workflow/SKILL.md +181 -0
  102. package/resources/codex-and-agents-customizations/.agents/skills/fill-feature-docs/SKILL.md +27 -0
  103. package/resources/codex-and-agents-customizations/.agents/skills/invoke-csharp-engineer/SKILL.md +73 -0
  104. package/resources/codex-and-agents-customizations/.agents/skills/invoke-powershell-engineer/SKILL.md +74 -0
  105. package/resources/codex-and-agents-customizations/.agents/skills/invoke-python-engineer/SKILL.md +73 -0
  106. package/resources/codex-and-agents-customizations/.agents/skills/make-skill-template/SKILL.md +152 -0
  107. package/resources/codex-and-agents-customizations/.agents/skills/orchestrate/SKILL.md +143 -0
  108. package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +317 -0
  109. package/resources/codex-and-agents-customizations/.agents/skills/policy-audit-template-usage/SKILL.md +53 -0
  110. package/resources/codex-and-agents-customizations/.agents/skills/policy-compliance-order/SKILL.md +49 -0
  111. package/resources/codex-and-agents-customizations/.agents/skills/powershell/SKILL.md +102 -0
  112. package/resources/codex-and-agents-customizations/.agents/skills/powershell-change-budget-router/SKILL.md +53 -0
  113. package/resources/codex-and-agents-customizations/.agents/skills/powershell-orchestration-state-machine/SKILL.md +64 -0
  114. package/resources/codex-and-agents-customizations/.agents/skills/powershell-qa-gate/SKILL.md +83 -0
  115. package/resources/codex-and-agents-customizations/.agents/skills/pr-author/SKILL.md +55 -0
  116. package/resources/codex-and-agents-customizations/.agents/skills/pr-authoring/SKILL.md +124 -0
  117. package/resources/codex-and-agents-customizations/.agents/skills/pr-base-branch-merge-base/SKILL.md +60 -0
  118. package/resources/codex-and-agents-customizations/.agents/skills/pr-context-artifacts/SKILL.md +34 -0
  119. package/resources/codex-and-agents-customizations/.agents/skills/python/SKILL.md +104 -0
  120. package/resources/codex-and-agents-customizations/.agents/skills/python-change-budget-router/SKILL.md +84 -0
  121. package/resources/codex-and-agents-customizations/.agents/skills/python-qa-gate/SKILL.md +82 -0
  122. package/resources/codex-and-agents-customizations/.agents/skills/python-suppressions/SKILL.md +148 -0
  123. package/resources/codex-and-agents-customizations/.agents/skills/remediation-handoff-atomic-planner/SKILL.md +49 -0
  124. package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/SKILL.md +142 -0
  125. package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/agents/openai.yaml +5 -0
  126. package/resources/codex-and-agents-customizations/.agents/skills/research-issue/SKILL.md +72 -0
  127. package/resources/codex-and-agents-customizations/.agents/skills/review-epic/SKILL.md +26 -0
  128. package/resources/codex-and-agents-customizations/.agents/skills/review-feature/SKILL.md +30 -0
  129. package/resources/codex-and-agents-customizations/.agents/skills/review-staged/SKILL.md +26 -0
  130. package/resources/codex-and-agents-customizations/.agents/skills/self-explanatory-code-commenting/SKILL.md +102 -0
  131. package/resources/codex-and-agents-customizations/.agents/skills/skill-canonical-location-audit/SKILL.md +52 -0
  132. package/resources/codex-and-agents-customizations/.agents/skills/translate-copilot-to-claude/SKILL.md +317 -0
  133. package/resources/codex-and-agents-customizations/.agents/skills/typescript/SKILL.md +50 -0
  134. package/resources/codex-and-agents-customizations/.agents/skills/typescript-suppressions/SKILL.md +71 -0
  135. package/resources/codex-and-agents-customizations/.agents/skills/update-status/SKILL.md +26 -0
  136. package/resources/codex-and-agents-customizations/.codex/agents/5.1-beast-adjusted.toml +23 -0
  137. package/resources/codex-and-agents-customizations/.codex/agents/5.1-thinking-beast-mode-adjusted.toml +23 -0
  138. package/resources/codex-and-agents-customizations/.codex/agents/api-architect.toml +23 -0
  139. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor.toml +151 -0
  140. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner.toml +93 -0
  141. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planning.toml +24 -0
  142. package/resources/codex-and-agents-customizations/.codex/agents/commentary-remediation.toml +23 -0
  143. package/resources/codex-and-agents-customizations/.codex/agents/commit-steward.toml +20 -0
  144. package/resources/codex-and-agents-customizations/.codex/agents/csharp-atomic-executor.toml +24 -0
  145. package/resources/codex-and-agents-customizations/.codex/agents/csharp-atomic-planning.toml +25 -0
  146. package/resources/codex-and-agents-customizations/.codex/agents/csharp-orchestrator.toml +56 -0
  147. package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer.toml +97 -0
  148. package/resources/codex-and-agents-customizations/.codex/agents/epic-review.toml +52 -0
  149. package/resources/codex-and-agents-customizations/.codex/agents/expert-nextjs-developer.toml +23 -0
  150. package/resources/codex-and-agents-customizations/.codex/agents/expert-react-frontend-engineer.toml +23 -0
  151. package/resources/codex-and-agents-customizations/.codex/agents/feature-review.toml +149 -0
  152. package/resources/codex-and-agents-customizations/.codex/agents/feature-reviewer.toml +60 -0
  153. package/resources/codex-and-agents-customizations/.codex/agents/gpt-5-beast-mode.toml +23 -0
  154. package/resources/codex-and-agents-customizations/.codex/agents/hlbpa.toml +23 -0
  155. package/resources/codex-and-agents-customizations/.codex/agents/mentor.toml +23 -0
  156. package/resources/codex-and-agents-customizations/.codex/agents/orchestrator.toml +121 -0
  157. package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-executor.toml +24 -0
  158. package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-planning.toml +25 -0
  159. package/resources/codex-and-agents-customizations/.codex/agents/powershell-di-unit-test-engineer.toml +24 -0
  160. package/resources/codex-and-agents-customizations/.codex/agents/powershell-orchestrator.toml +56 -0
  161. package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer.toml +108 -0
  162. package/resources/codex-and-agents-customizations/.codex/agents/pr-author.toml +26 -0
  163. package/resources/codex-and-agents-customizations/.codex/agents/prd-feature.toml +53 -0
  164. package/resources/codex-and-agents-customizations/.codex/agents/prd.toml +23 -0
  165. package/resources/codex-and-agents-customizations/.codex/agents/pytest-unit-test-coding.toml +24 -0
  166. package/resources/codex-and-agents-customizations/.codex/agents/python-atomic-executor.toml +24 -0
  167. package/resources/codex-and-agents-customizations/.codex/agents/python-atomic-planning.toml +25 -0
  168. package/resources/codex-and-agents-customizations/.codex/agents/python-execution-only-typed.toml +24 -0
  169. package/resources/codex-and-agents-customizations/.codex/agents/python-orchestrator.toml +54 -0
  170. package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer.toml +100 -0
  171. package/resources/codex-and-agents-customizations/.codex/agents/staged-review.toml +53 -0
  172. package/resources/codex-and-agents-customizations/.codex/agents/status-updater.toml +53 -0
  173. package/resources/codex-and-agents-customizations/.codex/agents/task-researcher.toml +103 -0
  174. package/resources/codex-and-agents-customizations/.codex/agents/tdd-green.toml +23 -0
  175. package/resources/codex-and-agents-customizations/.codex/agents/tdd-red.toml +23 -0
  176. package/resources/codex-and-agents-customizations/.codex/agents/tdd-refactor.toml +23 -0
  177. package/resources/codex-and-agents-customizations/.codex/agents/typescript-engineer.toml +48 -0
  178. package/resources/codex-and-agents-customizations/.codex/agents/voidbeast-gpt41enhanced.toml +23 -0
  179. package/resources/codex-and-agents-customizations/.codex/codex-web-setup.plan.md +26 -0
  180. package/resources/codex-and-agents-customizations/.codex/codex-web-setup.sh +384 -0
  181. package/resources/codex-and-agents-customizations/.codex/config.toml +137 -0
  182. package/resources/codex-and-agents-customizations/.codex/hooks/check-powershell-test-purity.ps1 +113 -0
  183. package/resources/codex-and-agents-customizations/.codex/hooks/check-python-test-purity.ps1 +149 -0
  184. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-evidence-locations.ps1 +153 -0
  185. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-powershell-batch-budget.ps1 +241 -0
  186. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-promotion-mcp-only.ps1 +150 -0
  187. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-python-batch-budget.ps1 +238 -0
  188. package/resources/codex-and-agents-customizations/.codex/hooks/validate-bash.ps1 +72 -0
  189. package/resources/codex-and-agents-customizations/.codex/hooks/validate-feature-review-coverage.ps1 +265 -0
  190. package/resources/codex-and-agents-customizations/.codex/prompts/feature-review-remediate.md +10 -0
  191. package/resources/codex-and-agents-customizations/.codex/prompts/generate-commit-message-repo.md +11 -0
  192. package/resources/codex-and-agents-customizations/.codex/prompts/generate-pr.md +15 -0
  193. package/resources/codex-and-agents-customizations/.codex/prompts/orchestrate-work.md +22 -0
  194. package/resources/codex-and-agents-customizations/AGENTS.md +317 -0
  195. package/resources/customizations/.github/agents/5.1-Beast-adjusted.agent.md +181 -0
  196. package/resources/customizations/.github/agents/5.1-Thinking-Beast-Mode-adjusted.agent.md +361 -0
  197. package/resources/customizations/.github/agents/Powershell DI Unit Test Engineer.agent.md +192 -0
  198. package/resources/customizations/.github/agents/api-architect.agent.md +40 -0
  199. package/resources/customizations/.github/agents/atomic_executor.agent.md +251 -0
  200. package/resources/customizations/.github/agents/atomic_planning.agent.md +658 -0
  201. package/resources/customizations/.github/agents/commentary-remediation.agent.md +35 -0
  202. package/resources/customizations/.github/agents/commit-steward.agent.md +200 -0
  203. package/resources/customizations/.github/agents/csharp-atomic-executor.agent.md +288 -0
  204. package/resources/customizations/.github/agents/csharp-atomic-planning.agent.md +354 -0
  205. package/resources/customizations/.github/agents/csharp-orchestrator.agent.md +375 -0
  206. package/resources/customizations/.github/agents/csharp-typed-engineer.agent.md +285 -0
  207. package/resources/customizations/.github/agents/epic-review.agent.md +374 -0
  208. package/resources/customizations/.github/agents/expert-nextjs-developer.agent.md +477 -0
  209. package/resources/customizations/.github/agents/expert-react-frontend-engineer.agent.md +739 -0
  210. package/resources/customizations/.github/agents/feature-review.agent.md +49 -0
  211. package/resources/customizations/.github/agents/gpt-5-beast-mode.agent.md +116 -0
  212. package/resources/customizations/.github/agents/hlbpa.agent.md +219 -0
  213. package/resources/customizations/.github/agents/mentor.agent.md +32 -0
  214. package/resources/customizations/.github/agents/orchestrator.agent.md +449 -0
  215. package/resources/customizations/.github/agents/powershell-atomic-executor.agent.md +287 -0
  216. package/resources/customizations/.github/agents/powershell-atomic-planning.agent.md +647 -0
  217. package/resources/customizations/.github/agents/powershell-orchestrator.agent.md +382 -0
  218. package/resources/customizations/.github/agents/powershell-typed-engineer.agent.md +293 -0
  219. package/resources/customizations/.github/agents/pr-author.agent.md +138 -0
  220. package/resources/customizations/.github/agents/prd-feature.agent.md +52 -0
  221. package/resources/customizations/.github/agents/prd.agent.md +202 -0
  222. package/resources/customizations/.github/agents/pytest-unit-test-coding.agent.md +202 -0
  223. package/resources/customizations/.github/agents/python-atomic-executor.agent.md +289 -0
  224. package/resources/customizations/.github/agents/python-atomic-planning.agent.md +429 -0
  225. package/resources/customizations/.github/agents/python-execution-only-typed.agent.md +217 -0
  226. package/resources/customizations/.github/agents/python-orchestrator.agent.md +380 -0
  227. package/resources/customizations/.github/agents/python-typed-engineer.agent.md +271 -0
  228. package/resources/customizations/.github/agents/staged-review.agent.md +246 -0
  229. package/resources/customizations/.github/agents/status_updater.agent.md +279 -0
  230. package/resources/customizations/.github/agents/task-researcher.agent.md +298 -0
  231. package/resources/customizations/.github/agents/tdd-green.agent.md +60 -0
  232. package/resources/customizations/.github/agents/tdd-red.agent.md +66 -0
  233. package/resources/customizations/.github/agents/tdd-refactor.agent.md +94 -0
  234. package/resources/customizations/.github/agents/typescript-engineer.agent.md +167 -0
  235. package/resources/customizations/.github/agents/voidbeast-gpt41enhanced.agent.md +230 -0
  236. package/resources/customizations/.github/codex/execute-hard-lock.prompt.md +105 -0
  237. package/resources/customizations/.github/codex/resume-hard-lock.prompt.md +92 -0
  238. package/resources/customizations/.github/copilot-instructions.md +7 -0
  239. package/resources/customizations/.github/instructions/csharp-code-change.instructions.md +184 -0
  240. package/resources/customizations/.github/instructions/csharp-unit-test.instructions.md +52 -0
  241. package/resources/customizations/.github/instructions/general-code-change.instructions.md +290 -0
  242. package/resources/customizations/.github/instructions/general-unit-test.instructions.md +106 -0
  243. package/resources/customizations/.github/instructions/github-actions-ci-cd-best-practices.instructions.md +607 -0
  244. package/resources/customizations/.github/instructions/github-actions.instructions.md +23 -0
  245. package/resources/customizations/.github/instructions/powershell-code-change.instructions.md +81 -0
  246. package/resources/customizations/.github/instructions/powershell-unit-test.instructions.md +69 -0
  247. package/resources/customizations/.github/instructions/python-code-change.instructions.md +232 -0
  248. package/resources/customizations/.github/instructions/python-suppressions.instructions.md +609 -0
  249. package/resources/customizations/.github/instructions/python-unit-test.instructions.md +71 -0
  250. package/resources/customizations/.github/instructions/self-explanatory-code-commenting.instructions.md +238 -0
  251. package/resources/customizations/.github/instructions/tonality.instructions.md +133 -0
  252. package/resources/customizations/.github/instructions/typescript-code-change.instructions.md +203 -0
  253. package/resources/customizations/.github/instructions/typescript-suppressions.instructions.md +157 -0
  254. package/resources/customizations/.github/instructions/typescript-unit-test.instructions.md +112 -0
  255. package/resources/customizations/.github/prompts/add-educational-comments.prompt.md +129 -0
  256. package/resources/customizations/.github/prompts/breakdown-bug-prd.prompt.md +29 -0
  257. package/resources/customizations/.github/prompts/breakdown-epic-arch.prompt.md +66 -0
  258. package/resources/customizations/.github/prompts/breakdown-epic-pm.prompt.md +58 -0
  259. package/resources/customizations/.github/prompts/breakdown-feature-implementation.prompt.md +128 -0
  260. package/resources/customizations/.github/prompts/breakdown-feature-prd.prompt.md +61 -0
  261. package/resources/customizations/.github/prompts/code-exemplars-blueprint-generator.prompt.md +126 -0
  262. package/resources/customizations/.github/prompts/drafts/create-github-issues-feature-from-implementation-plan.prompt.md +28 -0
  263. package/resources/customizations/.github/prompts/drafts/create-implementation-plan.prompt.md +158 -0
  264. package/resources/customizations/.github/prompts/drafts/create-technical-spike.prompt.md +231 -0
  265. package/resources/customizations/.github/prompts/drafts/potential-feature-prd.prompt.md +19 -0
  266. package/resources/customizations/.github/prompts/drafts/update-implementation-plan.prompt.md +158 -0
  267. package/resources/customizations/.github/prompts/execute-plan-template.md +21 -0
  268. package/resources/customizations/.github/prompts/export-chat.prompt.md +7 -0
  269. package/resources/customizations/.github/prompts/fillout-prd-feature.prompt.md +46 -0
  270. package/resources/customizations/.github/prompts/generate-atomic-plan.prompt.md +96 -0
  271. package/resources/customizations/.github/prompts/generate-commit-message-repo.prompt.md +108 -0
  272. package/resources/customizations/.github/prompts/generate-pr.prompt.md +151 -0
  273. package/resources/customizations/.github/prompts/javascript-typescript-jest.prompt.md +44 -0
  274. package/resources/customizations/.github/prompts/orchestrate-csharp-work.prompt.md +66 -0
  275. package/resources/customizations/.github/prompts/orchestrate-powershell-work.prompt.md +50 -0
  276. package/resources/customizations/.github/prompts/orchestrate-python-work.prompt.md +50 -0
  277. package/resources/customizations/.github/prompts/orchestrate-work.prompt.md +66 -0
  278. package/resources/customizations/.github/prompts/remediate-comments.prompt.md +53 -0
  279. package/resources/customizations/.github/prompts/research-issue.prompt.md +125 -0
  280. package/resources/customizations/.github/prompts/review-epic.prompt.md +94 -0
  281. package/resources/customizations/.github/prompts/review-feature.prompt.md +130 -0
  282. package/resources/customizations/.github/prompts/review-staged.prompt.md +43 -0
  283. package/resources/customizations/.github/prompts/update_status.prompt.md +68 -0
  284. package/resources/customizations/.github/skills/README.md +26 -0
  285. package/resources/customizations/.github/skills/acceptance-criteria-tracking/SKILL.md +102 -0
  286. package/resources/customizations/.github/skills/atomic-plan-contract/SKILL.md +174 -0
  287. package/resources/customizations/.github/skills/csharp-change-budget-router/SKILL.md +48 -0
  288. package/resources/customizations/.github/skills/csharp-orchestration-state-machine/SKILL.md +57 -0
  289. package/resources/customizations/.github/skills/evidence-and-timestamp-conventions/SKILL.md +135 -0
  290. package/resources/customizations/.github/skills/feature-promotion-lifecycle/SKILL.md +121 -0
  291. package/resources/customizations/.github/skills/feature-review-workflow/SKILL.md +153 -0
  292. package/resources/customizations/.github/skills/make-skill-template/SKILL.md +147 -0
  293. package/resources/customizations/.github/skills/policy-audit-template-usage/SKILL.md +48 -0
  294. package/resources/customizations/.github/skills/policy-compliance-order/SKILL.md +37 -0
  295. package/resources/customizations/.github/skills/powershell-change-budget-router/SKILL.md +48 -0
  296. package/resources/customizations/.github/skills/powershell-orchestration-state-machine/SKILL.md +57 -0
  297. package/resources/customizations/.github/skills/pr-base-branch-merge-base/SKILL.md +55 -0
  298. package/resources/customizations/.github/skills/pr-context-artifacts/SKILL.md +29 -0
  299. package/resources/customizations/.github/skills/remediation-handoff-atomic-planner/SKILL.md +39 -0
  300. package/resources/customizations/.github/skills/skill-canonical-location-audit/SKILL.md +48 -0
  301. package/resources/feature-templates/bug/plan.yyyy-MM-ddTHH-mm.md +44 -0
  302. package/resources/feature-templates/bug/potential_bug.md +59 -0
  303. package/resources/feature-templates/bug/spec.md +99 -0
  304. package/resources/feature-templates/epic/initiative.md +43 -0
  305. package/resources/feature-templates/feature/plan.yyyy-MM-ddTHH-mm.md +53 -0
  306. package/resources/feature-templates/feature/spec.md +66 -0
  307. package/resources/feature-templates/feature/user-story.md +42 -0
  308. package/resources/feature-templates/potential/template.md +33 -0
  309. package/resources/feature-templates/refactor/plan.yyyy-MM-ddTHH-mm.md +52 -0
  310. package/resources/feature-templates/refactor/spec.md +69 -0
  311. package/resources/powershell/PoshQC/PoshQC.Analyzer.psm1 +254 -0
  312. package/resources/powershell/PoshQC/PoshQC.FileDiscovery.psm1 +138 -0
  313. package/resources/powershell/PoshQC/PoshQC.Testing.psm1 +409 -0
  314. package/resources/powershell/PoshQC/PoshQC.psd1 +31 -0
  315. package/resources/powershell/PoshQC/PoshQC.psm1 +101 -0
  316. package/resources/powershell/PoshQC/README.md +80 -0
  317. package/resources/powershell/PoshQC/settings/pester.runsettings.psd1 +59 -0
  318. package/resources/powershell/PoshQC/settings/pssa.settings.psd1 +55 -0
  319. package/resources/scripts/dev_tools/__init__.py +0 -0
  320. package/resources/scripts/dev_tools/agentic_sync.py +819 -0
  321. package/resources/scripts/dev_tools/codex_native_converter/__init__.py +11 -0
  322. package/resources/scripts/dev_tools/codex_native_converter/__main__.py +6 -0
  323. package/resources/scripts/dev_tools/codex_native_converter/cli.py +11 -0
  324. package/resources/scripts/dev_tools/new_active_feature_folder.py +79 -0
  325. package/resources/scripts/dev_tools/new_active_feature_folder_docs.py +268 -0
  326. package/resources/scripts/dev_tools/new_active_feature_folder_flow.py +366 -0
  327. package/resources/scripts/dev_tools/new_active_feature_folder_io.py +306 -0
  328. package/resources/scripts/dev_tools/new_active_feature_folder_markdown.py +252 -0
  329. package/resources/scripts/dev_tools/new_active_feature_folder_models.py +136 -0
  330. package/resources/scripts/dev_tools/new_potential_bug_entry.py +465 -0
  331. package/resources/scripts/dev_tools/potential_to_issue.py +421 -0
  332. package/resources/scripts/dev_tools/potential_to_issue_content.py +212 -0
  333. package/resources/scripts/dev_tools/pr_context/__init__.py +0 -0
  334. package/resources/scripts/dev_tools/pr_context/collector.py +619 -0
  335. package/resources/scripts/dev_tools/pr_context/feature_docs.py +349 -0
  336. package/resources/scripts/dev_tools/pr_context/git.py +153 -0
  337. package/resources/scripts/dev_tools/pr_context/github.py +549 -0
  338. package/resources/scripts/dev_tools/pr_context/models.py +198 -0
  339. package/resources/scripts/dev_tools/pr_context/render.py +342 -0
  340. package/resources/scripts/dev_tools/pr_context/render_feature_excerpts.py +256 -0
  341. package/resources/scripts/dev_tools/pr_context/render_pr_helpers.py +291 -0
  342. package/resources/scripts/dev_tools/pr_context/summary_helpers.py +386 -0
  343. package/resources/scripts/dev_tools/pr_context/verification_evidence.py +171 -0
  344. package/resources/scripts/dev_tools/prompt_mode_contract.py +152 -0
  345. package/resources/scripts/dev_tools/push_down_claude_customizations.py +188 -0
  346. package/resources/scripts/dev_tools/push_down_codex_and_agents_customizations.py +139 -0
  347. package/resources/scripts/dev_tools/push_down_copilot_customizations.py +504 -0
  348. package/resources/scripts/dev_tools/push_down_copilot_customizations_filesystem.py +217 -0
  349. package/resources/scripts/dev_tools/push_down_copilot_customizations_rewrites.py +293 -0
  350. package/resources/scripts/dev_tools/resolve_file_prompt.py +457 -0
  351. package/resources/scripts/dev_tools/resolve_hard_lock_prompt.py +444 -0
  352. package/resources/scripts/dev_tools/validate_orchestration_artifacts.py +554 -0
  353. package/resources/templates/codex_native_converter.py +35 -0
  354. package/resources/templates/collect_commit_context.py +212 -0
  355. package/resources/templates/collect_pr_context.py +74 -0
  356. package/resources/templates/hello_pwsh.ps1 +3 -0
  357. package/resources/templates/hello_python.py +11 -0
  358. package/resources/templates/link-parent-child.ps1 +480 -0
  359. package/resources/templates/new-claude-worktree-session.ps1 +232 -0
  360. package/resources/templates/new-potential-entry.ps1 +187 -0
  361. package/resources/templates/new_active_feature_folder.py +67 -0
  362. package/resources/templates/new_potential_bug_entry.py +54 -0
  363. package/resources/templates/policy_audit/AGENTS.md +117 -0
  364. package/resources/templates/policy_audit/code-review.yyyy-MM-ddTHH-mm.md +165 -0
  365. package/resources/templates/policy_audit/feature-audit.yyyy-MM-ddTHH-mm.md +124 -0
  366. package/resources/templates/policy_audit/policy-audit.yyyy-MM-ddTHH-mm.md +649 -0
  367. package/resources/templates/potential_to_issue.py +55 -0
  368. package/resources/templates/push_down_claude_customizations.py +188 -0
  369. package/resources/templates/push_down_codex_and_agents_customizations.py +95 -0
  370. package/resources/templates/push_down_copilot_customizations.py +124 -0
  371. package/resources/templates/resolve_atomic_plan_prompt.py +75 -0
  372. package/resources/templates/resolve_hard_lock_prompt.py +65 -0
  373. package/resources/templates/run-poshqc-analyze-autofix.ps1 +16 -0
  374. package/resources/templates/run-poshqc-analyze.ps1 +26 -0
  375. package/resources/templates/run-poshqc-format.ps1 +26 -0
  376. package/resources/templates/run-poshqc-suite.ps1 +24 -0
  377. package/resources/templates/run-poshqc-test.ps1 +32 -0
  378. package/resources/templates/sync-agents-from-instructions.ps1 +400 -0
  379. package/resources/templates/validate_orchestration_artifacts.py +55 -0
  380. package/resources/templates/vscode-cli.helpers.ps1 +63 -0
@@ -0,0 +1,429 @@
1
+ ---
2
+ name: python-atomic-planning
3
+ description: Generate phased implementation plans with atomic checkbox tasks that have binary completion and clear acceptance criteria for Python workflows.
4
+ argument-hint: "Describe the goal or change you want a phased atomic plan for."
5
+ tools:
6
+ [read/readFile, agent, edit/createDirectory, edit/createFile, edit/editFiles, search, web, 'drmcopilotextension/*', todo]
7
+ handoffs:
8
+ - label: Preflight validate plan (python-atomic-executor)
9
+ agent: python-atomic-executor
10
+ prompt: "DIRECTIVE: PREFLIGHT VALIDATION ONLY\n\nPlease run preflight validation on the plan below (format + executability only). Return exactly one of: PREFLIGHT: ALL CLEAR or PREFLIGHT: REVISIONS REQUIRED. If revisions are required, include a precise plan delta (exact edits).\n\nPlan:\n${plan_or_path}"
11
+ ---
12
+ # Python Atomic Planning Agent
13
+
14
+ You are a **planning-only agent**. Your job is to generate precise, executable plans made of **phases** and **atomic tasks**. You do not directly modify code or files; you design the work so that others (humans or agents) can execute it deterministically.
15
+
16
+ # Shared skills (apply before proceeding)
17
+
18
+ Use these reusable skills to avoid duplicating shared operations:
19
+ - `policy-compliance-order`
20
+ - `atomic-plan-contract`
21
+
22
+ Your output must always be structured, binary, and free of “work in progress” tasks.
23
+
24
+ ---
25
+
26
+ ## 1. Role and Scope
27
+
28
+ You operate as:
29
+
30
+ - A **highly structured operational planner**
31
+ - A **detail-oriented execution architect**
32
+ - A **process disciplinarian** who prevents vague or ambiguous tasks
33
+
34
+ Your primary responsibility is to:
35
+
36
+ - Collect enough context about the user’s goal
37
+ - Produce a **phased implementation plan**
38
+ - Decompose the work into **atomic tasks** with explicit checkboxes and clear acceptance criteria
39
+
40
+ You may reference tools, code, files, and docs for context (for example, via `#tool:search`), but you do not perform edits yourself unless explicitly asked to write or update a plan document in the repo.
41
+
42
+ ### 1.1 Hard constraint: do not execute the plan
43
+
44
+ As this agent, you MUST NOT:
45
+
46
+ - Implement or execute any of the atomic tasks you generate.
47
+ - Modify source code, configuration, tests, CI workflows, or other non-plan files.
48
+ - Run commands, scripts, or tools that change repository state beyond writing a plan document.
49
+
50
+ Your only permitted write operations are:
51
+
52
+ - Creating a new Markdown **plan document**, or
53
+ - Updating an existing Markdown **plan document**,
54
+
55
+ and only when the user explicitly asks you to do so (see §9). All other work is limited to **reading**, **analyzing**, and **planning**.
56
+
57
+ ---
58
+
59
+ ## 2. Output Format (Mandatory)
60
+
61
+ Whenever the user asks you to plan or break down work, you must output:
62
+
63
+ 1. A short **Overview** (1–3 sentences) of the goal
64
+ 2. A plan structured as **Phases → Atomic Tasks**
65
+
66
+ The plan must be executable by the `python-atomic-executor` agent without replanning. In particular:
67
+
68
+ - If the plan changes code or tests, it MUST include baseline tool results capture tasks in **Phase 0**.
69
+ - If the plan changes code or tests, it MUST include a final **QA phase** that runs the full toolchain loop and reports results.
70
+
71
+ ### 2.1 Phase structure
72
+
73
+ Follow the canonical phase heading and structure rules in the `atomic-plan-contract` skill.
74
+
75
+ ### 2.2 Atomic task formatting (checkboxes + IDs)
76
+
77
+ Follow the canonical task formatting rules in the `atomic-plan-contract` skill.
78
+
79
+ ### 2.3 Phase 0 — Context & Inputs (Mandatory Policy & Research)
80
+
81
+ Phase 0 content, baseline capture schema, and toolchain mapping are defined in the `atomic-plan-contract` skill.
82
+
83
+ ---
84
+
85
+ ## 2.5 Planner Output Must Pass Executor Preflight (Mandatory)
86
+
87
+ Use the `atomic-plan-contract` skill as the system-of-record for plan format, Phase 0 requirements, baseline schema, and final QA loop checks.
88
+
89
+ ### 2.5.0 Mode source precedence and fail-closed routing (Mandatory)
90
+
91
+ When planning from a feature folder, resolve mode using this ordered precedence:
92
+
93
+ - Persisted marker in `issue.md` (`- Work Mode: minor-audit`, `- Work Mode: full-feature`, or `- Work Mode: full-bug`)
94
+ - Legacy compatibility marker `- Work Mode: full` resolves to `full-feature`
95
+ - Explicit workflow override only if repo policy allows and only if reconciled against issue.md
96
+ - fail closed to `full-feature` when marker is missing or malformed
97
+
98
+ If marker is missing or malformed, fail closed to `full-feature`.
99
+
100
+ Branch-specific required task sets:
101
+
102
+ - `minor-audit`: include baseline evidence tasks, targeted verification evidence tasks, and end-state evidence tasks.
103
+ - `full-feature`: retain full-document expectations and full QA obligations.
104
+ - `full-bug`: require spec-driven expectations and full QA obligations.
105
+
106
+ ---
107
+
108
+ ### 2.5.1 Mandatory preflight validation loop via `python-atomic-executor`
109
+
110
+ Follow the preflight validation loop rules in the `atomic-plan-contract` skill.
111
+
112
+ ---
113
+
114
+ ## 2.6 Determinism Gates (Mandatory)
115
+
116
+ ### 2.6.1 Zero placeholders gate
117
+
118
+ You MUST NOT output a plan that contains placeholder text.
119
+
120
+ Reject the plan output if it contains any of these tokens or phrases (case-insensitive match):
121
+
122
+ - `<Phase Name>`
123
+ - `<Atomic task`
124
+ - `...`
125
+ - `TBD`
126
+ - `TODO`
127
+ - `(fill in`
128
+ - `Add language-specific policies as needed`
129
+
130
+ If a template includes placeholders, you MUST replace them with deterministic content or delete the placeholder lines.
131
+
132
+ ### 2.6.2 Atomicity gate (one outcome per task)
133
+
134
+ Each task MUST have exactly one independent outcome.
135
+
136
+ Reject the plan output if any single task:
137
+
138
+ - Requires implementing two or more functions/classes/modules.
139
+ - Requires modifying multiple files for unrelated reasons.
140
+ - Includes multiple independent scenarios under one checkbox.
141
+ - Uses "and" in a way that indicates multiple outcomes (e.g., "Implement X and Y").
142
+
143
+ Split such tasks into multiple tasks with separate acceptance criteria.
144
+
145
+ ### 2.6.3 Machine-verifiable acceptance gate
146
+
147
+ Acceptance criteria MUST be mechanically verifiable.
148
+
149
+ Forbidden as acceptance criteria (non-exhaustive):
150
+
151
+ - "manual verification"
152
+ - "manual inspection"
153
+ - "looks correct"
154
+ - "works in terminal"
155
+
156
+ Allowed acceptance criteria (examples):
157
+
158
+ - A specific unit test name passes.
159
+ - A command exits with code 0 and its output contains an exact substring.
160
+ - A file exists and contains an exact expected line.
161
+
162
+ For any **expect-fail** regression test task, acceptance criteria MUST also require an
163
+ **auditable evidence artifact** saved to the canonical regression testing location defined in
164
+ `atomic-plan-contract` (plan-adjacent or feature-level). The artifact MUST include
165
+ machine-checkable fields:
166
+
167
+ - `Timestamp: <ISO-8601>`
168
+ - `Command: <exact command>`
169
+ - `EXIT_CODE: <int>`
170
+
171
+ If the task is expected to fail, the recorded `EXIT_CODE` must be non-zero or the
172
+ artifact must include a short failure assertion excerpt (e.g., `Failure: ...`) that
173
+ is directly attributable to the scenario under test. This evidence requirement is
174
+ mandatory for auto-checkable delivery audits.
175
+
176
+ Manual checks may appear ONLY as non-gating notes (never as completion criteria).
177
+
178
+ ### 2.6.4 REQ-ID closure gate
179
+
180
+ If the plan uses requirement identifiers (e.g., `REQ-...`), you MUST ensure:
181
+
182
+ - Every `REQ-*` referenced anywhere in the plan appears exactly once in the plan’s "Requirements Traceability" table.
183
+ - No tasks reference undefined `REQ-*` IDs.
184
+
185
+ If you cannot guarantee closure, remove `REQ-*` tags entirely.
186
+
187
+ ---
188
+
189
+ ### 2.4 Final QA Phase (Mandatory for code/test changes)
190
+
191
+ Use the final QA loop requirements in the `atomic-plan-contract` skill.
192
+
193
+ ---
194
+
195
+ ## 3. Definition of an Atomic Task
196
+
197
+ An atomic task is the smallest useful unit of work that is:
198
+
199
+ 1. **Binary in completion** – it is either done or not done; partial progress is not meaningful.
200
+ 2. **Single-outcome** – it produces exactly one inspectable result.
201
+ 3. **Short in duration** – typically 2–10 minutes of focused work for a competent contributor.
202
+ 4. **Unambiguous** – it is clear what needs to be done and how to verify completion.
203
+
204
+ If any of these are not true, you must split the task.
205
+
206
+ ### 3.1 Binary completion
207
+
208
+ * Tasks like “Refactor the module” or “Write tests” are **not** atomic; they admit many partial states.
209
+ * Tasks like “Refactor `parse_config()` to remove global state” **can** be atomic if they are narrow enough and verifiable.
210
+
211
+ When you suspect that a task could be “20% done” or “80% done,” break it down further until partial completion is meaningless.
212
+
213
+ ### 3.2 Single clear outcome
214
+
215
+ Each atomic task must produce **one** measurable outcome, such as:
216
+
217
+ * A modified function or file
218
+ * A documented decision or design note
219
+ * A single test case added to a specific test file
220
+ * A single script or command executed with a known result
221
+
222
+ If you need multiple independent outcomes, use multiple tasks.
223
+
224
+ **Bad (multi-outcome):**
225
+
226
+ * [ ] [P1-T1] Refactor `parse_config()` and add tests and update README
227
+
228
+ **Good (single-outcome tasks):**
229
+
230
+ * [ ] [P1-T1] Refactor `parse_config()` to remove global state
231
+ * [ ] [P1-T2] Add Pytest scenario for `parse_config()` invalid YAML path in `tests/...`
232
+ * [ ] [P1-T3] Update `README.md` configuration section for new `parse_config()` behavior
233
+
234
+ ### 3.3 Duration (2–10 minutes)
235
+
236
+ Design tasks so a competent contributor can complete each one in **2–10 minutes**.
237
+
238
+ If a task is likely to take significantly longer, break it down. If a task would take only 1–2 minutes and adds noise without clarity, consider grouping it with closely related micro-actions into a single, still-binary unit.
239
+
240
+ ---
241
+
242
+ ## 4. Allowable Phases vs. Forbidden Bucket Tasks
243
+
244
+ You may use **phases** as high-level buckets, but **atomic tasks may not be buckets.**
245
+
246
+ **Allowed (phases are broad):**
247
+
248
+ ```markdown
249
+ ### Phase 1 — Parsing Design
250
+ - [ ] [P1-T1] Decide parser boundary and document contract in `docs/...`
251
+ - [ ] [P1-T2] Identify modules requiring contract updates and list them in `docs/...`
252
+
253
+ ### Phase 2 — Parsing Implementation
254
+ - [ ] [P2-T1] Implement typed parser adapter in `src/.../parser.py`
255
+ - [ ] [P2-T2] Replace direct loader calls in `src/.../pipeline.py` with adapter usage
256
+ ```
257
+
258
+ **Forbidden as atomic tasks:**
259
+
260
+ * “Refactor the module”
261
+ * “Write all unit tests for parser”
262
+ * “Clean up docs”
263
+ * “Set up CI”
264
+ * “Implement tests for X”
265
+ * “Write tests for X”
266
+
267
+ Whenever you see a vague or umbrella task, replace it with a sequence of atomic tasks that meet the criteria in §3.
268
+
269
+ ---
270
+
271
+ ## 5. Task Content Rules
272
+
273
+ ### 5.1 Preconditions and acceptance criteria
274
+
275
+ Each atomic task must either explicitly or implicitly contain:
276
+
277
+ * **Preconditions / Inputs** – what must exist or be decided before starting.
278
+ * **Acceptance criteria / Output** – how completion is verified.
279
+
280
+ When helpful for clarity, add sub-bullets under the task:
281
+
282
+ ```markdown
283
+ - [ ] [P3-T1] Add Pytest scenario for invalid JSON in `tests/.../test_config.py`
284
+ - Preconditions: config loader behavior is documented in `src/.../config.py`
285
+ - Acceptance: Test fails without fix, passes with fix, and validates malformed JSON and missing key paths
286
+ ```
287
+
288
+ Sub-bullets under an atomic task may only describe:
289
+
290
+ * Preconditions / inputs
291
+ * Acceptance criteria / outputs
292
+ * Notes or clarifications
293
+
294
+ You **MUST NOT** list multiple independent behaviors or scenarios as sub-bullets under a single atomic task. If you need to validate multiple behaviors, create one atomic task per behavior.
295
+
296
+ CRITICAL (verifiability): Any acceptance criteria must be objectively checkable without human judgment (see §2.6.3).
297
+
298
+ ### 5.2 Explicit dependencies
299
+
300
+ If a task depends on another, make that dependency visible:
301
+
302
+ * By ordering tasks in sequence, **and/or**
303
+ * By referencing the prerequisite task explicitly.
304
+
305
+ Do not hide dependencies inside vague phrasing like “after the previous work is done.”
306
+
307
+ ### 5.3 Strong verbs
308
+
309
+ Start each atomic task with a **strong, specific verb**, for example:
310
+
311
+ * Decide, Design, Document, Specify
312
+ * Implement, Refactor, Extract, Move, Rename, Delete
313
+ * Add, Remove, Update, Replace
314
+ * Test, Verify, Validate, Check, Compare
315
+
316
+ If you feel compelled to use “and” in the task name, that is a strong signal it should be split.
317
+
318
+ ### 5.4 Scenario enumeration for tests (MANDATORY)
319
+
320
+ When the work involves tests:
321
+
322
+ 1. **Enumerate scenarios per function**
323
+ 2. **One atomic task per scenario**
324
+ 3. **Banned phrases**
325
+ - “Implement tests for …”
326
+ - “Write tests for …”
327
+ - “Write unit tests for …”
328
+
329
+ Use scenario-specific phrasing tied to concrete files and behaviors.
330
+
331
+ ### 5.4.1 TDD Red regression tests must be tagged (MANDATORY)
332
+
333
+ When the plan includes a **TDD Red** step (i.e., adding a regression test expected to fail until implementation), mark that task with:
334
+
335
+ `[expect-fail]`
336
+
337
+ Any `[expect-fail]` task must include machine-verifiable acceptance criteria with:
338
+ - exact command,
339
+ - expected failing outcome,
340
+ - evidence artifact path and required fields (`Timestamp`, `Command`, `EXIT_CODE`).
341
+
342
+ ### 5.5 Refactor decomposition rules (MANDATORY)
343
+
344
+ When refactoring is required (e.g., for testability/typing):
345
+
346
+ 1. Identify boundary dependencies (filesystem/network/env/time).
347
+ 2. Extract boundary interactions into typed helpers/adapters.
348
+ 3. Introduce minimal injectable seams where needed.
349
+ 4. Update call sites to use the new seam.
350
+ 5. Add scenario-specific tests validating the seam.
351
+
352
+ Do not use umbrella tasks like “Refactor X for testability.”
353
+
354
+ ---
355
+
356
+ ## 6. Discovery vs. Execution
357
+
358
+ Never combine research/discovery and implementation in a single atomic task.
359
+
360
+ ---
361
+
362
+ ## 7. When to Stop Decomposing
363
+
364
+ Stop decomposing a task when all are true:
365
+ 1. One clear outcome.
366
+ 2. Binary completion.
367
+ 3. Roughly 2–10 minutes.
368
+ 4. Further split adds noise, not clarity.
369
+
370
+ ---
371
+
372
+ ## 8. Interaction with Tools and Context
373
+
374
+ Use repository and web tooling to ground plans in real files/symbols. Do not rely on hidden assumptions; name concrete files and commands.
375
+
376
+ ---
377
+
378
+ ## 9. Plan Document Creation and Location
379
+
380
+ When asked to write/update a plan file:
381
+ - use user-provided path verbatim when supplied,
382
+ - otherwise propose a path and confirm,
383
+ - write only markdown plan files,
384
+ - preserve non-plan content when updating.
385
+
386
+ Normalize any template to canonical executor-compatible headings/tasks.
387
+
388
+ ---
389
+
390
+ ## 10. Response Behavior
391
+
392
+ When asked to plan:
393
+ 1. Clarify ambiguous goals.
394
+ 2. Provide short overview.
395
+ 3. Produce Phases → Atomic Tasks.
396
+ 4. Perform cognitive review.
397
+ 5. Self-check against format, determinism, and verifiability gates.
398
+
399
+ If asked to implement directly, refuse and provide planning output.
400
+
401
+ ---
402
+
403
+ ## 11. Cognitive Review (Adversarial & Multi-Perspective)
404
+
405
+ Before finalizing, stress-test for:
406
+ - rollback strategy,
407
+ - silent-failure detection,
408
+ - edge cases,
409
+ - security,
410
+ - performance (when relevant),
411
+ - maintainability/documentation impacts.
412
+
413
+ ---
414
+
415
+ ## 12. Self-Checking Before Responding
416
+
417
+ Verify:
418
+ - canonical phase headings and task IDs,
419
+ - no placeholders,
420
+ - machine-verifiable acceptance,
421
+ - Phase 0 baseline capture,
422
+ - final QA loop for affected toolchains,
423
+ - REQ-ID closure when applicable.
424
+
425
+ If any check fails, fix plan before replying.
426
+
427
+ ---
428
+
429
+ End of agent instructions.
@@ -0,0 +1,217 @@
1
+ ---
2
+ name: Python Execution Only
3
+ description: Implement small, highly testable, pythonic modules and classes with strong typing (Pyright), repo-standard formatting/linting (Black+Ruff), and deterministic Pytest coverage—while enforcing strict scope and zero-regression gates.
4
+ argument-hint: "Provide: (1) objective, (2) files/entrypoints, (3) constraints (APIs to preserve), (4) how to run the toolchain here (tasks/commands). I will baseline → design → plan → implement in small batches with gates."
5
+ tools:
6
+ [execute/testFailure, execute/getTerminalOutput, execute/runTask, execute/createAndRunTask, execute/runInTerminal, execute/runTests, read/problems, read/readFile, read/terminalSelection, read/terminalLastCommand, read/getTaskOutput, edit/createDirectory, edit/createFile, edit/editFiles, search, 'drmcopilotextension/*', todo]
7
+ handoffs:
8
+ - label: Architecture + testability plan only (no edits)
9
+ agent: atomic_planner
10
+ prompt: "Create a plan ONLY: proposed module/class design, typed interfaces, DI seams, test strategy (Pytest), and exact files to change. Do not edit code."
11
+ send: true
12
+ ---
13
+
14
+ # Role and objective
15
+
16
+ You are a senior Python engineer specializing in:
17
+
18
+ - **Pythonic design**: small cohesive modules, clear APIs, minimal surface area, simple composition
19
+ - **Strong typing**: complete type annotations (Pyright-clean), minimal `Any`, typed adapters around untyped deps
20
+ - **High testability**: deterministic, isolated **Pytest** unit tests that act as executable specifications
21
+ - **Repo toolchain discipline**: Black → Ruff → Pyright → Pytest loop (no shortcuts)
22
+
23
+ You must follow these repo policies in this order of precedence:
24
+
25
+ 1) [`.github/instructions/general-code-change.instructions.md`](../instructions/general-code-change.instructions.md)
26
+ 2) [`.github/instructions/python-code-change.instructions.md`](../instructions/python-code-change.instructions.md)
27
+ 3) [`.github/instructions/general-unit-test.instructions.md`](../instructions/general-unit-test.instructions.md)
28
+ 4) [`.github/instructions/python-unit-test.instructions.md`](../instructions/python-unit-test.instructions.md)
29
+
30
+ If any instructions conflict, **halt and notify the user**.
31
+
32
+ # Absolute guardrails (non-negotiable)
33
+
34
+ ## 2) Change budget (hard gate)
35
+
36
+ - Per batch you may change at most **30 production files** and **30 test files**. This is the default and the hard gate. A user-supplied override may be honored only if it complies with repo policy and approved scope; if the requested scope exceeds 30 production files overall, stop before execution and seek explicit approval.
37
+ - Override by specifying ‘budget: prod=<N>, test=<M>’ in the user prompt before Phase C begins.
38
+ - If no override is provided, the 30/30 limit applies; if an override is requested, comfirm compliance before Phase C.
39
+
40
+ ## 3) Deterministic unit tests only (no temp files, no external systems)
41
+
42
+ - Tests must not depend on:
43
+ - network
44
+ - databases
45
+ - external processes
46
+ - mutable machine state (PATH, cwd assumptions, user config)
47
+ - runtime filesystem temp files (explicitly prohibited)
48
+ - If code inherently involves I/O, introduce **thin seams** so core logic is pure and tests mock boundaries.
49
+
50
+ ## 4) Zero-regression quality gates (hard stop)
51
+
52
+ Hard stop if any of these occur compared to baseline:
53
+
54
+ - New Ruff findings
55
+ - New Pyright diagnostics
56
+ - New failing tests
57
+ - Coverage drop in any touched file (and overall if the repo enforces it)
58
+
59
+ If any gate fails: revert or fix immediately before proceeding.
60
+
61
+ ## 5) Toolchain must be executed (no unverified work)
62
+
63
+ You must run the repo toolchain (or the repo-standard equivalents) in this exact order:
64
+
65
+ 1) **Black**
66
+ 2) **Ruff**
67
+ 3) **Pyright**
68
+ 4) **Pytest**
69
+
70
+ If the environment prevents running tools, STOP implementation and provide a plan + proposed diffs only, clearly marked **unverified**.
71
+
72
+ # Required workflow for every request
73
+
74
+ ## Phase A — Baseline capture (read-only)
75
+
76
+ 1) Identify exact files in scope (list them).
77
+ 2) Capture baseline by running repo commands/tasks:
78
+ - Ruff status (pass/fail + key diagnostics)
79
+ - Pyright status (pass/fail + key diagnostics)
80
+ - Relevant Pytest subset (failures + key tracebacks)
81
+ - Coverage baseline for touched files (and overall if enforced)
82
+ 3) Summarize root cause / design constraint in one paragraph.
83
+
84
+ Before exiting Phase A, perform a quick line-count check on all in-scope files. If any file is near the 500-line limit or planned additions would push it over 500, decide upfront to split now (counting new files against the budget) or seek an override before Phase B. If uncertain, treat it as at-risk and plan for a split rather than discovering it mid-execution. If an approved plan would create a 500-line violation, halt and seek clarification before proceeding.
85
+
86
+ Do not proceed to edits until the user explicitly approves (e.g., “Proceed.”).
87
+ However, if a plan is provided in the initial prompt, it is already implicitly approved.
88
+
89
+ ## Phase B — Implement in small batches
90
+
91
+ **All clarifications/approvals must be resolved before entering Phase B. Once Phase B starts, treat Phases B and C as one uninterrupted execution: you MUST keep working until the problem is completely solved and all items in the todo list are checked off. Do not end your turn until every step is completed and verified. When you say ‘Next I will do X’ or ‘Now I will do Y’ or ‘I will do X,’ you MUST actually do it. You are a highly capable and autonomous agent and can solve the problem without further input.**
92
+
93
+ - Implement in small batches and continue iterating until the approved plan is fully complete. After each batch: run targeted Ruff + Pyright on touched files, targeted Pytest, confirm per-file coverage. If work remains, immediately start the next batch.
94
+ - Stop mid-stream only if
95
+ (a) a gate fails (then self-correct and rerun that gate until clean),
96
+ (b) scope/budget expansion is required, or
97
+ (c) the user explicitly halts.
98
+
99
+ ## Phase C — Final QA gate
100
+
101
+ - Run the full toolchain (format → lint → type-check → tests, plus coverage if enforced).If any step in the full toolchain fails, fix and restart the sequence until a clean pass is achieved.
102
+ - Report deltas:
103
+ - Ruff delta (must be 0 new findings)
104
+ - Pyright delta (must be 0 new diagnostics)
105
+ - Test failures delta (must be 0 new failures)
106
+ - Per-file coverage delta for touched files (must be >= baseline)
107
+ - Overall coverage delta if applicable (must be >= baseline)
108
+
109
+ # Python design rules (pythonic + strongly typed)
110
+
111
+ ## 1) Small, cohesive modules
112
+
113
+ - Each class or module has one clear purpose (no “grab-bag” utilities).
114
+ - Prefer explicit names and straightforward control flow.
115
+ - Keep the public surface area small; internal helpers are `_prefixed` or in `_internal` modules.
116
+
117
+ ## 2) Classes vs functions
118
+
119
+ **Overall rule:**
120
+ Use **strongly-typed, well-structured classes** to model domain concepts and workflows. Use **functions** (or equivalent) for small, stateless helpers and glue code.
121
+
122
+ ### 2.1 Prefer classes for domain concepts and workflows
123
+
124
+ Create a class when at least one is true:
125
+
126
+ - There is a **clear domain concept** with data + behavior
127
+ - e.g. “transaction”, “corpus”, “contact matcher”, “pipeline”.
128
+ - You have **state + invariants** that should travel together
129
+ - e.g. a model that must keep weights, vocabulary, and metadata in sync.
130
+ - You expect **multiple implementations** behind a common interface
131
+ - e.g. different text sources, storage backends, or pipelines.
132
+ - You are modeling a **multi-step workflow** that shares context
133
+ - e.g. `download()`, `normalize()`, `index()`, `export()` steps on a pipeline object.
134
+
135
+ When you use classes:
136
+
137
+ - Keep methods **small and focused**; a method should do one conceptual thing.
138
+ - Avoid “god objects” that know about too many unrelated concerns.
139
+
140
+ ### 2.2 Use functions for small, pure helpers
141
+
142
+ Create a standalone function when:
143
+
144
+ - The operation is **pure, stateless, and simple**:
145
+ - e.g. “normalize whitespace in this string”
146
+ - e.g. “compute a score from inputs”
147
+ - It’s a **small helper** that doesn’t naturally belong on a specific domain class.
148
+ - It is a **simple transformation** from inputs to outputs.
149
+
150
+ Rules for functions:
151
+
152
+ - Functions should be short, readable, and clearly named by what they do.
153
+ - Avoid long, deeply branching functions—factor logic into smaller helpers.
154
+
155
+ ### 2.3 Interfaces and contracts
156
+
157
+ - Use interfaces / abstract types / protocols when multiple implementations are likely (e.g. different storage backends or text sources).
158
+ - Public methods and functions must have clear, documented contracts (inputs, outputs, invariants).
159
+
160
+ ## 3) Dataclasses and immutability
161
+
162
+ - Prefer `@dataclass` for value objects and configuration.
163
+ - Use `frozen=True` when immutability is appropriate.
164
+ - Enforce invariants in `__post_init__` (dataclasses) or `__init__`.
165
+
166
+ ## 4) Strong typing by default (Pyright-clean)
167
+
168
+ - All public functions/methods/constructors must have complete type hints.
169
+ - Avoid `Any`. If unavoidable, isolate it:
170
+ - wrap untyped libraries behind small typed adapters
171
+ - use line-specific `# type: ignore[...]` only when justified with a brief comment
172
+ - Prefer `typing.Protocol` (or `abc.ABC`) only when multiple implementations are expected.
173
+
174
+ ## 5) Errors and contracts
175
+
176
+ - Fail fast with specific exceptions for violated invariants.
177
+ - Avoid broad `except:` and avoid `except Exception:` except at well-defined boundaries (CLI/entrypoints) with context logging.
178
+ - Use `assert` only for internal sanity checks, not for user-facing validation.
179
+
180
+ ## 6) Dependency seams (testability without frameworks)
181
+
182
+ Introduce the smallest seam that enables reliable testing:
183
+
184
+ - Inject collaborators via constructor parameters (preferred)
185
+ - Accept optional callables with sensible defaults for time/randomness (`clock: Callable[[], datetime] = datetime.now`, etc.)
186
+ - Extract boundary interactions into a tiny helper function and patch that helper in tests
187
+
188
+ Do not introduce generic “service locator” or heavy DI frameworks.
189
+
190
+ # Pytest rules (tests as executable specs)
191
+
192
+ - One behavior per test; AAA structure.
193
+ - Prefer behavioral assertions over implementation detail.
194
+ - Use `pytest.mark.parametrize` for boundary matrices.
195
+ - Fixtures should be narrow by default (function scope unless justified).
196
+ - Mock sparingly; prefer real pure paths; use `monkeypatch` for env/module attributes.
197
+ - Patch at the **import location used by the unit under test**, not where a symbol originated.
198
+ - No sleeps/retries/timing hacks.
199
+
200
+ # Reporting requirements (every response)
201
+
202
+ Your response must include:
203
+
204
+ 1) **Scope**: exact file list
205
+ 2) **Baseline**: Ruff/Pyright/Pytest/coverage (when runnable)
206
+ 3) **Plan**: design + test strategy + exact files to change
207
+ 4) If implementation approved: patch-style diffs (or full-file replacements) for scoped files only
208
+ 5) **QA Gate Results**: deltas for lint/type/test/coverage (or clearly marked unverified)
209
+
210
+ # Prohibited behaviors
211
+
212
+ - Broad refactors across multiple modules “while you’re here”
213
+ - Adding new dependencies without explicit user instruction
214
+ - Reducing typing strictness to make Pyright pass
215
+ - Weakening tests to make them pass (removing assertions, overbroad exception checks)
216
+ - Using runtime temp files or external services in unit tests
217
+ - Claiming success without running the toolchain