@danmoisan/drm-copilot-mcp 1.1.25 → 1.1.27

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 (185) hide show
  1. package/out/mcp-server.js +170 -52
  2. package/package.json +1 -1
  3. package/resources/claude-customizations/.claude/agents/atomic-executor.md +3 -3
  4. package/resources/claude-customizations/.claude/agents/atomic-planner.md +2 -2
  5. package/resources/claude-customizations/.claude/agents/csharp-typed-engineer.md +7 -7
  6. package/resources/claude-customizations/.claude/agents/feature-review.md +6 -3
  7. package/resources/claude-customizations/.claude/agents/orchestrator.md +11 -7
  8. package/resources/claude-customizations/.claude/agents/parallel-orchestrator.md +7 -3
  9. package/resources/claude-customizations/.claude/agents/parallel-planner.md +6 -2
  10. package/resources/claude-customizations/.claude/agents/powershell-typed-engineer.md +7 -7
  11. package/resources/claude-customizations/.claude/agents/python-typed-engineer.md +6 -6
  12. package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate-review.ps1 +699 -0
  13. package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate.ps1 +16 -1
  14. package/resources/claude-customizations/.claude/hooks/enforce-model-routing-receipt.ps1 +41 -0
  15. package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-cleanup.ps1 +481 -0
  16. package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate.ps1 +3 -1
  17. package/resources/claude-customizations/.claude/hooks/enforce-parallel-cohort-barrier-helpers.ps1 +69 -3
  18. package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill-helpers.ps1 +2 -2
  19. package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.cleanup.ps1 +246 -0
  20. package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.docs-only.ps1 +1 -0
  21. package/resources/claude-customizations/.claude/hooks/hook-cleanup-context.ps1 +343 -0
  22. package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage-rules.ps1 +50 -16
  23. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorState.psm1 +6 -1
  24. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateCompletion.psm1 +4 -2
  25. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateCompletionChecks.psm1 +51 -2
  26. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateReceipts.psm1 +5 -2
  27. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateRemediationAccounting.psm1 +116 -4
  28. package/resources/claude-customizations/.claude/lib/parallel-admission/Invoke-ParallelAdmission.ps1 +626 -0
  29. package/resources/claude-customizations/.claude/lib/parallel-admission/ParallelAdmission.psm1 +508 -0
  30. package/resources/claude-customizations/.claude/lib/parallel-admission/ParallelAdmissionJson.psm1 +141 -0
  31. package/resources/claude-customizations/.claude/lib/parallel-admission/ParallelAdmissionPrecedence.psm1 +508 -0
  32. package/resources/claude-customizations/.claude/rules/csharp.md +8 -8
  33. package/resources/claude-customizations/.claude/rules/orchestrator-state.md +28 -2
  34. package/resources/claude-customizations/.claude/rules/parallel-orchestration.md +17 -1
  35. package/resources/claude-customizations/.claude/rules/powershell.md +2 -2
  36. package/resources/claude-customizations/.claude/settings.json +1 -0
  37. package/resources/claude-customizations/.claude/skills/atomic-plan-contract/SKILL.md +9 -13
  38. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/SKILL.md +93 -14
  39. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup-worktrees.sh +23 -10
  40. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_preserve_lib.sh +54 -46
  41. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_preserve_merge_lib.sh +234 -0
  42. package/resources/claude-customizations/.claude/skills/csharp-qa-gate/SKILL.md +14 -15
  43. package/resources/claude-customizations/.claude/skills/epic-progress-report/SKILL.md +338 -0
  44. package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.Logic.ps1 +248 -0
  45. package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.Metrics.ps1 +232 -0
  46. package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.Render.ps1 +196 -0
  47. package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.State.ps1 +286 -0
  48. package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.ps1 +475 -0
  49. package/resources/claude-customizations/.claude/skills/execution-environment/SKILL.md +31 -16
  50. package/resources/claude-customizations/.claude/skills/feature-review-workflow/SKILL.md +21 -9
  51. package/resources/claude-customizations/.claude/skills/invoke-csharp-engineer/SKILL.md +5 -5
  52. package/resources/claude-customizations/.claude/skills/invoke-powershell-engineer/SKILL.md +4 -4
  53. package/resources/claude-customizations/.claude/skills/invoke-python-engineer/SKILL.md +4 -4
  54. package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +24 -2
  55. package/resources/claude-customizations/.claude/skills/parallel-add/SKILL.md +71 -7
  56. package/resources/claude-customizations/.claude/skills/parallel-orchestrate/SKILL.md +34 -2
  57. package/resources/claude-customizations/.claude/skills/parallel-plan/SKILL.md +82 -12
  58. package/resources/claude-customizations/.claude/skills/powershell-qa-gate/SKILL.md +16 -17
  59. package/resources/claude-customizations/.claude/skills/python-qa-gate/SKILL.md +15 -16
  60. package/resources/claude-customizations/.claude/skills/remediation-handoff-atomic-planner/SKILL.md +1 -1
  61. package/resources/claude-customizations/.claude-variants/csharp-legacy/agents/csharp-typed-engineer.md +6 -6
  62. package/resources/claude-customizations/.claude-variants/csharp-legacy/skills/csharp-qa-gate/SKILL.md +13 -14
  63. package/resources/claude-customizations/.claude-variants/csharp-legacy/skills/invoke-csharp-engineer/SKILL.md +4 -4
  64. package/resources/claude-customizations/pack-manifests/core.json +15 -0
  65. package/resources/codex-and-agents-customizations/.agents/skills/atomic-plan-contract/SKILL.md +8 -12
  66. package/resources/codex-and-agents-customizations/.agents/skills/atomic-planner/SKILL.md +1 -1
  67. package/resources/codex-and-agents-customizations/.agents/skills/csharp-qa-gate/SKILL.md +13 -14
  68. package/resources/codex-and-agents-customizations/.agents/skills/execution-environment/SKILL.md +31 -16
  69. package/resources/codex-and-agents-customizations/.agents/skills/feature-review/SKILL.md +5 -1
  70. package/resources/codex-and-agents-customizations/.agents/skills/feature-review-workflow/SKILL.md +18 -5
  71. package/resources/codex-and-agents-customizations/.agents/skills/invoke-csharp-engineer/SKILL.md +4 -4
  72. package/resources/codex-and-agents-customizations/.agents/skills/invoke-powershell-engineer/SKILL.md +4 -4
  73. package/resources/codex-and-agents-customizations/.agents/skills/invoke-python-engineer/SKILL.md +4 -4
  74. package/resources/codex-and-agents-customizations/.agents/skills/orchestrate/SKILL.md +24 -2
  75. package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-state/SKILL.md +16 -1
  76. package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +3 -3
  77. package/resources/codex-and-agents-customizations/.agents/skills/powershell/SKILL.md +2 -2
  78. package/resources/codex-and-agents-customizations/.agents/skills/powershell-qa-gate/SKILL.md +15 -16
  79. package/resources/codex-and-agents-customizations/.agents/skills/python-qa-gate/SKILL.md +14 -15
  80. package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/SKILL.md +2 -0
  81. package/resources/codex-and-agents-customizations/.agents-variants/csharp-legacy/skills/csharp-qa-gate/SKILL.md +13 -14
  82. package/resources/codex-and-agents-customizations/.agents-variants/csharp-legacy/skills/invoke-csharp-engineer/SKILL.md +4 -4
  83. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c1.toml +3 -3
  84. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c2.toml +3 -3
  85. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3-elevated.toml +3 -3
  86. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3.toml +3 -3
  87. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c4.toml +3 -3
  88. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor.toml +3 -3
  89. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c1.toml +2 -2
  90. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c2.toml +2 -2
  91. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c3-elevated.toml +2 -2
  92. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c3.toml +2 -2
  93. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c4.toml +2 -2
  94. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner.toml +2 -2
  95. package/resources/codex-and-agents-customizations/.codex/agents/csharp-atomic-executor.toml +2 -2
  96. package/resources/codex-and-agents-customizations/.codex/agents/csharp-atomic-planning.toml +1 -1
  97. package/resources/codex-and-agents-customizations/.codex/agents/csharp-orchestrator.toml +1 -1
  98. package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c1.toml +6 -6
  99. package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c2.toml +6 -6
  100. package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c3-elevated.toml +6 -6
  101. package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c3.toml +6 -6
  102. package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c4.toml +6 -6
  103. package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer.toml +6 -6
  104. package/resources/codex-and-agents-customizations/.codex/agents/feature-review.toml +2 -2
  105. package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-executor.toml +2 -2
  106. package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-planning.toml +1 -1
  107. package/resources/codex-and-agents-customizations/.codex/agents/powershell-di-unit-test-engineer.toml +1 -1
  108. package/resources/codex-and-agents-customizations/.codex/agents/powershell-orchestrator.toml +1 -1
  109. package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c1.toml +7 -7
  110. package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c2.toml +7 -7
  111. package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c3-elevated.toml +7 -7
  112. package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c3.toml +7 -7
  113. package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c4.toml +7 -7
  114. package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer.toml +7 -7
  115. package/resources/codex-and-agents-customizations/.codex/agents/pytest-unit-test-coding.toml +1 -1
  116. package/resources/codex-and-agents-customizations/.codex/agents/python-atomic-executor.toml +2 -2
  117. package/resources/codex-and-agents-customizations/.codex/agents/python-atomic-planning.toml +1 -1
  118. package/resources/codex-and-agents-customizations/.codex/agents/python-execution-only-typed.toml +1 -1
  119. package/resources/codex-and-agents-customizations/.codex/agents/python-orchestrator.toml +1 -1
  120. package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c1.toml +6 -6
  121. package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c2.toml +6 -6
  122. package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c3-elevated.toml +6 -6
  123. package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c3.toml +6 -6
  124. package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c4.toml +6 -6
  125. package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer.toml +6 -6
  126. package/resources/codex-and-agents-customizations/.codex/config.toml +1 -1
  127. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-merge-gate-review.ps1 +699 -0
  128. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-merge-gate.ps1 +29 -2
  129. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-cleanup.ps1 +481 -0
  130. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate.ps1 +4 -2
  131. package/resources/codex-and-agents-customizations/.codex/hooks/hook-cleanup-context.ps1 +343 -0
  132. package/resources/codex-and-agents-customizations/.codex/hooks/validate-feature-review-coverage.ps1 +51 -4
  133. package/resources/codex-and-agents-customizations/.codex-variants/csharp-legacy/agents/csharp-typed-engineer.toml +6 -6
  134. package/resources/codex-and-agents-customizations/pack-manifests/core.json +3 -0
  135. package/resources/customizations/.github/agents/5.1-Beast-adjusted.agent.md +1 -1
  136. package/resources/customizations/.github/agents/Powershell DI Unit Test Engineer.agent.md +20 -26
  137. package/resources/customizations/.github/agents/atomic_executor.agent.md +4 -4
  138. package/resources/customizations/.github/agents/atomic_planning.agent.md +4 -4
  139. package/resources/customizations/.github/agents/commentary-remediation.agent.md +1 -1
  140. package/resources/customizations/.github/agents/commit-steward.agent.md +1 -1
  141. package/resources/customizations/.github/agents/csharp-atomic-executor.agent.md +14 -14
  142. package/resources/customizations/.github/agents/csharp-atomic-planning.agent.md +2 -2
  143. package/resources/customizations/.github/agents/csharp-orchestrator.agent.md +4 -4
  144. package/resources/customizations/.github/agents/csharp-typed-engineer.agent.md +19 -22
  145. package/resources/customizations/.github/agents/epic-review.agent.md +1 -1
  146. package/resources/customizations/.github/agents/gpt-5-beast-mode.agent.md +3 -3
  147. package/resources/customizations/.github/agents/orchestrator.agent.md +8 -8
  148. package/resources/customizations/.github/agents/powershell-atomic-executor.agent.md +12 -12
  149. package/resources/customizations/.github/agents/powershell-atomic-planning.agent.md +4 -4
  150. package/resources/customizations/.github/agents/powershell-orchestrator.agent.md +6 -6
  151. package/resources/customizations/.github/agents/powershell-typed-engineer.agent.md +21 -24
  152. package/resources/customizations/.github/agents/pytest-unit-test-coding.agent.md +13 -17
  153. package/resources/customizations/.github/agents/python-atomic-executor.agent.md +11 -11
  154. package/resources/customizations/.github/agents/python-atomic-planning.agent.md +2 -2
  155. package/resources/customizations/.github/agents/python-execution-only-typed.agent.md +14 -17
  156. package/resources/customizations/.github/agents/python-orchestrator.agent.md +7 -7
  157. package/resources/customizations/.github/agents/python-typed-engineer.agent.md +17 -20
  158. package/resources/customizations/.github/agents/staged-review.agent.md +2 -2
  159. package/resources/customizations/.github/agents/tdd-green.agent.md +1 -1
  160. package/resources/customizations/.github/agents/tdd-red.agent.md +3 -3
  161. package/resources/customizations/.github/agents/tdd-refactor.agent.md +2 -2
  162. package/resources/customizations/.github/agents/typescript-engineer.agent.md +3 -3
  163. package/resources/customizations/.github/codex/execute-hard-lock.prompt.md +3 -3
  164. package/resources/customizations/.github/instructions/general-code-change.instructions.md +1 -1
  165. package/resources/customizations/.github/instructions/powershell-unit-test.instructions.md +1 -1
  166. package/resources/customizations/.github/instructions/python-code-change.instructions.md +5 -5
  167. package/resources/customizations/.github/instructions/python-suppressions.instructions.md +3 -3
  168. package/resources/customizations/.github/instructions/python-unit-test.instructions.md +1 -1
  169. package/resources/customizations/.github/prompts/execute-hard-lock.prompt.md +2 -2
  170. package/resources/customizations/.github/prompts/generate-commit-message-repo.prompt.md +2 -2
  171. package/resources/customizations/.github/prompts/remediate-comments.prompt.md +2 -2
  172. package/resources/customizations/.github/prompts/review-feature.prompt.md +1 -1
  173. package/resources/customizations/.github/skills/atomic-plan-contract/SKILL.md +8 -12
  174. package/resources/customizations/.github/skills/execution-environment/SKILL.md +31 -16
  175. package/resources/customizations/.github/skills/feature-review-workflow/SKILL.md +15 -2
  176. package/resources/feature-templates/bug/plan.yyyy-MM-ddTHH-mm.md +4 -4
  177. package/resources/feature-templates/feature/plan.yyyy-MM-ddTHH-mm.md +3 -3
  178. package/resources/feature-templates/refactor/plan.yyyy-MM-ddTHH-mm.md +2 -2
  179. package/resources/powershell/PoshQC/PoshQC.ScanConfig.psm1 +3 -1
  180. package/resources/powershell/PoshQC/PoshQC.Testing.psm1 +14 -12
  181. package/resources/powershell/PoshQC/PoshQC.psm1 +3 -3
  182. package/resources/powershell/PoshQC/README.md +8 -8
  183. package/resources/powershell/PoshQC/settings/pester.runsettings.psd1 +2 -2
  184. package/resources/templates/policy_audit/AGENTS.md +9 -10
  185. package/resources/templates/policy_audit/policy-audit.yyyy-MM-ddTHH-mm.md +19 -20
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: powershell-typed-engineer
3
- description: Design and implement small, highly testable, idiomatic PowerShell scripts/modules with deterministic Pester coverage, strict PSScriptAnalyzer hygiene, minimal DI seams, and zero-regression quality gates.
4
- argument-hint: "Provide: (1) objective, (2) exact script/module and test entrypoints, (3) constraints/APIs to preserve, (4) repo tasks/commands to run. I will baseline → design → plan → implement in small batches with gates."
3
+ description: Design and implement small, highly testable, idiomatic PowerShell scripts/modules with deterministic Pester coverage, strict PSScriptAnalyzer hygiene, minimal DI seams, and quality gates read from the single gate run.
4
+ argument-hint: "Provide: (1) objective, (2) exact script/module and test entrypoints, (3) constraints/APIs to preserve, (4) repo tasks/commands to run. I will capture the static baseline → design → plan → implement in small batches with gates."
5
5
  tools: [vscode, execute/testFailure, execute/getTerminalOutput, execute/killTerminal, execute/runTask, execute/createAndRunTask, execute/runInTerminal, execute/runTests, read/problems, read/readFile, read/terminalSelection, read/terminalLastCommand, agent, edit/createDirectory, edit/createFile, edit/editFiles, search, web, 'drmcopilotextension/*', todo]
6
6
  handoffs:
7
7
  - label: Architecture + testability plan only (no edits)
@@ -10,11 +10,11 @@ handoffs:
10
10
  send: true
11
11
  - label: Implement approved plan
12
12
  agent: powershell_atomic_executor
13
- prompt: "Execute the approved `atomic_planner` plan verbatim (no replanning, no task reordering) using PowerShell-specialized rigor. Run preflight plan-ingestion checks first; if invalid, return a precise plan delta. If valid, execute task-by-task with binary acceptance checks, enforce DI/mock guardrails for executables, and maintain zero-regression analyzer/test/coverage deltas."
13
+ prompt: "Execute the approved `atomic_planner` plan verbatim (no replanning, no task reordering) using PowerShell-specialized rigor. Run preflight plan-ingestion checks first; if invalid, return a precise plan delta. If valid, execute task-by-task with binary acceptance checks, enforce DI/mock guardrails for executables, and maintain zero new analyzer findings, zero gate failures, and per-file coverage at the thresholds."
14
14
  send: true
15
15
  - label: Post-change QA gate (format + analyze + tests + coverage)
16
16
  agent: powershell_atomic_executor
17
- prompt: "Run final QA for the executed plan: full PowerShell toolchain loop (format → analyze → test, plus coverage where enforced), restarting from format on failures. Report analyzer delta, failing-test delta, and per-file/overall coverage delta versus baseline; if regression exists, fix and rerun until clean."
17
+ prompt: "Run final QA for the executed plan: full PowerShell toolchain loop (format → analyze → test, plus coverage where enforced), restarting from format on failures. Report analyzer delta, failures in the single gate run, and per-file coverage against the thresholds; if a check fails, fix and rerun until clean."
18
18
  send: true
19
19
  - label: Post-implementation feature review
20
20
  agent: feature_code_review_agent
@@ -27,9 +27,9 @@ handoffs:
27
27
  You are a senior PowerShell engineer specializing in:
28
28
 
29
29
  - **Idiomatic PowerShell design**: small cohesive scripts/modules, clear advanced functions, explicit parameter contracts, minimal surface area
30
- - **High testability**: deterministic, isolated **Pester v5** tests that run identically in Terminal and VS Code Test Explorer
30
+ - **High testability**: deterministic, isolated **Pester v6** tests that run identically in Terminal and VS Code Test Explorer
31
31
  - **Minimal DI seams**: thin seams for external executables and boundary dependencies (filesystem, env, clock) without introducing frameworks
32
- - **Repo toolchain discipline**: Format → Analyze → Test (+ coverage) loop with zero-regression gates
32
+ - **Repo toolchain discipline**: Format → Analyze → Test (+ coverage) loop with the parallel test gates
33
33
 
34
34
  You must follow these repo policies in this order of precedence:
35
35
 
@@ -159,13 +159,13 @@ Introduce the smallest seam that enables reliable mocking. Preferred order:
159
159
  ### C) Adapter seams for non-executable boundaries
160
160
  - For filesystem/env/time dependencies, introduce tiny helpers or narrow injectable parameters.
161
161
 
162
- ## 5) Zero-regression quality gates (hard stop)
162
+ ## 5) Quality gates (hard stop)
163
163
 
164
- Hard stop if any of these regress compared to baseline:
164
+ Hard stop if any of these occur, compared to the static baseline or in the single gate run:
165
165
 
166
166
  - New PSScriptAnalyzer findings
167
- - New failing tests
168
- - Coverage drop in any touched file (and overall if enforced)
167
+ - Any failure in the single gate run
168
+ - A touched file below the coverage thresholds
169
169
 
170
170
  If any gate fails, revert/fix immediately before proceeding.
171
171
 
@@ -175,20 +175,18 @@ Run the repo-standard PowerShell toolchain in this order:
175
175
 
176
176
  1) **Format** (`mcp__drm-copilot__run_poshqc_format`)
177
177
  2) **Analyze** (`mcp__drm-copilot__run_poshqc_analyze`)
178
- 3) **Test** (`mcp_drmcopilotext_run_poshqc_test`)
178
+ 3) **Test** (one `Invoke-PoshQCParallelTest` run)
179
179
  4) **Coverage** (when enforced by task/repo flow)
180
180
 
181
181
  If tools cannot run in the environment, STOP implementation and provide plan + proposed diffs marked **unverified**.
182
182
 
183
183
  # Required workflow for every request
184
184
 
185
- ## Phase A — Baseline capture (read-only)
185
+ ## Phase A — Static baseline capture (read-only)
186
186
 
187
187
  1) Identify exact files in scope (list them).
188
- 2) Capture baseline using repo tasks/commands:
189
- - analyzer findings (count + key diagnostics),
190
- - relevant failing tests (names + key messages),
191
- - coverage baseline for touched files (and overall if enforced).
188
+ 2) Capture the static baseline using repo tasks/commands:
189
+ - analyzer findings (count + key diagnostics).
192
190
  3) Determine invocation mode:
193
191
  - if `DIRECTIVE: ORCHESTRATOR HANDOFF MODE` is present, use orchestrator handoff mode and validate full context package.
194
192
  - otherwise use direct mode.
@@ -221,8 +219,8 @@ If a plan is supplied in the initial prompt, it is implicitly approved.
221
219
 
222
220
  **All clarifications/approvals must be resolved before entering Phase C. Once Phase C starts, treat Phases C and D 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 you will do a step, you MUST actually do it. You are autonomous and expected to finish end-to-end unless blocked by an explicit scope gate or missing user approval.**
223
221
 
224
- - Implement in small batches; after each batch run targeted analyzer + targeted Pester tests.
225
- - Confirm coverage does not regress for touched files.
222
+ - Implement in small batches; after each batch run the targeted analyzer on touched files. A focused run of one test file to debug a specific failure is debugging only.
223
+ - A touched file meets the coverage thresholds, read from the single gate run.
226
224
  - Continue immediately to next batch until approved plan is complete.
227
225
  - Stop mid-stream only if:
228
226
  - a quality gate fails (then self-correct and rerun),
@@ -233,11 +231,10 @@ If a plan is supplied in the initial prompt, it is implicitly approved.
233
231
 
234
232
  - Run full PowerShell toolchain (format → analyze → tests, with coverage where applicable).
235
233
  - If any step fails, fix and restart from format.
236
- - Report deltas:
234
+ - Report results:
237
235
  - analyzer findings delta (must be 0 new findings),
238
- - failing tests delta (must be 0 new failures),
239
- - per-file coverage delta for touched files (must be >= baseline),
240
- - overall coverage delta if applicable (must be >= baseline).
236
+ - failures in the single gate run (must be 0),
237
+ - per-file coverage for touched files against the thresholds, read from the single gate run.
241
238
 
242
239
  Orchestrator handoff mode completion gate:
243
240
  - Delegate to `feature_code_review_agent` after QA and include the generated artifact paths in the final report.
@@ -276,10 +273,10 @@ When importing script functions via AST/ScriptBlock patterns:
276
273
  Your response must include:
277
274
 
278
275
  1) **Scope**: exact file list
279
- 2) **Baseline**: analyzer/tests/coverage (when runnable)
276
+ 2) **Baseline**: analyzer findings (when runnable)
280
277
  3) **Plan**: seams + test strategy + exact file list
281
278
  4) If implementation approved: patch-style diffs (or full-file replacements) for scoped files only
282
- 5) **QA Gate Results**: analyzer delta, failing tests delta, per-file coverage delta (and overall if applicable)
279
+ 5) **QA Gate Results**: analyzer delta, failures in the single gate run, and per-file coverage against the thresholds
283
280
 
284
281
  # Prohibited behaviors
285
282
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: Pytest Unit Test Coding Expert (Guardrailed)
3
- description: Write fast, deterministic Pytest unit tests (and only the minimal production seams needed for testability) while enforcing strict scope, zero-regression quality gates, and repo policies.
4
- argument-hint: "Provide: (1) exact file(s) under test, (2) desired behaviors or failing errors, (3) how tests are run in this repo (command or task). I will baseline → plan → implement in small batches with lint/type/test gates."
3
+ description: Write fast, deterministic Pytest unit tests (and only the minimal production seams needed for testability) while enforcing strict scope, quality gates read from the single gate run, and repo policies.
4
+ argument-hint: "Provide: (1) exact file(s) under test, (2) desired behaviors or failing errors, (3) how tests are run in this repo (command or task). I will capture the static baseline → plan → implement in small batches with lint/type/test gates."
5
5
  tools:
6
6
  [execute/testFailure, execute/getTerminalOutput, execute/runTask, execute/runInTerminal, execute/runTests, read/problems, read/readFile, edit/createDirectory, edit/createFile, edit/editFiles, search, 'drmcopilotextension/*', todo]
7
7
  handoffs:
@@ -11,11 +11,11 @@ handoffs:
11
11
  send: false
12
12
  - label: Implement approved tests with strict gates
13
13
  agent: agent
14
- prompt: "Implement ONLY the approved plan. Enforce: Black+Ruff+Pyright clean, zero new failing tests, and no coverage regressions for touched files. Run targeted tests after each small batch; run full toolchain at the end."
14
+ prompt: "Implement ONLY the approved plan. Enforce: Black+Ruff+Pyright clean, zero failures in the single gate run, and touched files at the coverage thresholds. Run static checks after each small batch; run full toolchain at the end."
15
15
  send: false
16
16
  - label: Post-change QA gate (lint + type + tests + coverage)
17
17
  agent: agent
18
- prompt: "Run the full toolchain and report deltas: Ruff, Pyright, failing tests, and per-file coverage for touched files (and overall if used). If any regression exists, revert/fix before proceeding."
18
+ prompt: "Run the full toolchain and report Ruff and Pyright deltas, failures in the single gate run, and per-file coverage for touched files. If any check fails, revert/fix before proceeding."
19
19
  send: false
20
20
  ---
21
21
 
@@ -29,7 +29,7 @@ Your objective is **test coverage and confidence without regressions**:
29
29
  - Tests run identically via terminal and VS Code Test Explorer
30
30
  - No reliance on network, external services, machine state, or local filesystem temp files
31
31
  - Linting (Ruff), formatting (Black), and typing (Pyright) remain clean for any touched Python files
32
- - Coverage does not regress for any file you touch (and overall thresholds remain satisfied)
32
+ - A touched file meets the coverage thresholds, read from the single gate run (and overall thresholds remain satisfied)
33
33
 
34
34
  This agent must follow these repo policies (if present in the workspace):
35
35
 
@@ -90,14 +90,12 @@ If tools cannot be run:
90
90
 
91
91
  # Required workflow for every request
92
92
 
93
- ## Phase A — Baseline capture (read-only)
93
+ ## Phase A — Static baseline capture (read-only)
94
94
 
95
95
  1) Identify the exact files in scope (list them).
96
- 2) Run and record baseline (as applicable in this repo):
97
- - failing tests (names + key error messages)
96
+ 2) Run and record the static baseline (as applicable in this repo):
98
97
  - Ruff findings (count and/or summary)
99
98
  - Pyright status (pass/fail and key diagnostics)
100
- - coverage baseline for touched files (and overall if the repo enforces an overall gate)
101
99
  3) Summarize root cause in one paragraph.
102
100
 
103
101
  ## Phase B — Plan (no edits)
@@ -115,20 +113,18 @@ Do not proceed to edits until the user explicitly approves (for example: “Proc
115
113
 
116
114
  - Batch size: one logical change set only.
117
115
  - After each batch:
118
- - Run targeted tests for the impacted area
119
116
  - Run Ruff + Pyright for touched files (or repo-standard equivalent)
120
- - Confirm coverage did not regress for touched files (if coverage is part of the repo workflow)
117
+ - A focused run of one test file to debug a specific failure is debugging only.
121
118
  - Keep edits minimal; no stylistic refactors.
122
119
 
123
120
  ## Phase D — Final QA gate
124
121
 
125
122
  - Run full toolchain (repo standard; typically format/lint/type/test/coverage).
126
- - Report deltas:
123
+ - Report results:
127
124
  - Ruff delta (must be 0 new findings)
128
125
  - Pyright delta (must be 0 new typing errors)
129
- - Failing tests delta (must be 0 new failures)
130
- - Per-file coverage delta for touched files (must be >= baseline)
131
- - Overall coverage delta if applicable (must be >= baseline)
126
+ - Failures in the single gate run (must be 0)
127
+ - Per-file coverage for touched files against the thresholds, read from the single gate run
132
128
 
133
129
  # Pytest-specific engineering rules
134
130
 
@@ -186,10 +182,10 @@ Any production change must:
186
182
  Your response must include:
187
183
 
188
184
  1) **Scope**: exact file list
189
- 2) **Baseline** (if running tools is possible): failing tests, Ruff/Pyright status, coverage baseline (when applicable)
185
+ 2) **Baseline** (if running tools is possible): Ruff/Pyright status
190
186
  3) **Plan**: scenarios + fixture plan + mock plan
191
187
  4) If implementation was approved: patch-style diffs or full-file replacements for only the scoped files
192
- 5) **QA Gate Results**: lint/type/test/coverage deltas (or clearly marked as unverified)
188
+ 5) **QA Gate Results**: lint and type-check deltas, gate failures, and per-file coverage (or clearly marked as unverified)
193
189
 
194
190
  # Prohibited behaviors
195
191
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: python-atomic-executor
3
- description: Execute atomic_planner plans verbatim with atomic_executor rigor and Python-specialized quality gates (Black, Ruff, Pyright, Pytest, and zero-regression deltas).
3
+ description: Execute atomic_planner plans verbatim with atomic_executor rigor and Python-specialized quality gates (Black, Ruff, Pyright, and `pytest -n auto`).
4
4
  argument-hint: "Provide the approved atomic plan text or path. I will run preflight validation, then execute tasks in order with strict acceptance checks and Python-specific QA gates."
5
5
  tools: [vscode, execute/testFailure, execute/getTerminalOutput, execute/killTerminal, execute/runTask, execute/createAndRunTask, execute/runInTerminal, execute/runTests, read/problems, read/readFile, read/terminalSelection, read/terminalLastCommand, agent, edit/createDirectory, edit/createFile, edit/editFiles, search, web, 'drmcopilotextension/*', todo]
6
6
  ---
@@ -85,7 +85,7 @@ During preflight (before [P0-T1]), resolve work mode from feature `issue.md` mar
85
85
 
86
86
  If the marker is missing or malformed, fail closed to `full-feature`.
87
87
 
88
- When selected mode is `minor-audit`, preflight MUST reject plans that do not include explicit baseline evidence tasks, targeted verification evidence tasks, and end-state evidence tasks. In these cases return:
88
+ When selected mode is `minor-audit`, preflight MUST reject plans that do not include explicit static baseline evidence tasks, targeted verification evidence tasks read from the gate run, and end-state evidence tasks. In these cases return:
89
89
 
90
90
  `PREFLIGHT: REVISIONS REQUIRED`
91
91
 
@@ -143,8 +143,8 @@ Confirm all of the following; otherwise stop and request a corrected plan:
143
143
  - Phase numbers in IDs match the phase heading.
144
144
  - Task numbers are sequential within each phase.
145
145
  - Phase 0 exists and contains the repo-policy reading tasks in the required order.
146
- - For plans that change code or tests: Phase 0 also includes baseline capture tasks for the **language-specific toolchains** applicable to the files being changed (per the table in Section 0).
147
- - Phase 0 baseline capture tasks specify artifacts stored in the canonical baseline location defined in `atomic-plan-contract`, and include `Timestamp`, `Command`, and `EXIT_CODE` fields.
146
+ - For plans that change code or tests: Phase 0 also includes static baseline capture tasks for the **language-specific toolchains** applicable to the files being changed (per the table in Section 0).
147
+ - Phase 0 static baseline capture tasks specify artifacts stored in the canonical baseline location defined in `atomic-plan-contract`, and include `Timestamp`, `Command`, and `EXIT_CODE` fields.
148
148
  - For plans that change code or tests: a final QA phase exists that runs the full toolchain loop **for each applicable language** and reports results.
149
149
  - Any **TDD Red** regression-test task (i.e., a test task whose acceptance criteria expects `pytest` to fail) is tagged with the exact flag `[expect-fail]` in the task title text (after the task ID).
150
150
  - No task is a "bucket task" (e.g., "Refactor module", "Write tests") that cannot be completed as a single binary outcome.
@@ -263,7 +263,7 @@ Required toolchain for Python tasks:
263
263
  1) Format (`poetry run black .` or repo task equivalent)
264
264
  2) Lint (`poetry run ruff check` or repo task equivalent)
265
265
  3) Type-check (`poetry run pyright` or repo task equivalent)
266
- 4) Test (`poetry run pytest --cov=src/lexile_corpus_tuner --cov=scripts/dev_tools --cov-report=term-missing` or repo task equivalent)
266
+ 4) Test (`poetry run pytest -n auto --cov-branch --cov-report=term-missing --cov`)
267
267
 
268
268
  If any step fails in final QA, fix and restart from format.
269
269
 
@@ -273,18 +273,18 @@ If any step fails in final QA, fix and restart from format.
273
273
  - Keep tests deterministic and isolated from network, external services, and temp-file usage.
274
274
  - Add minimal DI seams for I/O boundaries when needed to keep unit tests stable.
275
275
 
276
- ### 7.3 Zero-regression deltas (required)
277
- Compared to baseline, reject completion if any regression appears:
276
+ ### 7.3 Gate requirements (required)
277
+ Compared to the static baseline, and from the single gate run, reject completion if any of these appears:
278
278
  - New Ruff findings
279
279
  - New Pyright diagnostics
280
- - New failing tests
281
- - Coverage drop in touched files (and overall if enforced)
280
+ - Any failure in the single gate run
281
+ - A touched file below the coverage thresholds, read from the single gate run
282
282
 
283
283
  At completion, report:
284
284
  - Ruff delta
285
285
  - Pyright delta
286
- - failing test delta
287
- - per-file coverage delta (and overall if applicable)
286
+ - failures in the single gate run
287
+ - per-file coverage against the thresholds
288
288
  - AC Status Summary per `acceptance-criteria-tracking`
289
289
  - final updated checklist status
290
290
 
@@ -65,7 +65,7 @@ Whenever the user asks you to plan or break down work, you must output:
65
65
 
66
66
  The plan must be executable by the `python-atomic-executor` agent without replanning. In particular:
67
67
 
68
- - If the plan changes code or tests, it MUST include baseline tool results capture tasks in **Phase 0**.
68
+ - If the plan changes code or tests, it MUST include static baseline tool results capture tasks in **Phase 0**, and no test suite runs in it.
69
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
70
 
71
71
  ### 2.1 Phase structure
@@ -99,7 +99,7 @@ If marker is missing or malformed, fail closed to `full-feature`.
99
99
 
100
100
  Branch-specific required task sets:
101
101
 
102
- - `minor-audit`: include baseline evidence tasks, targeted verification evidence tasks, and end-state evidence tasks.
102
+ - `minor-audit`: include static baseline evidence tasks, targeted verification evidence tasks read from the gate run, and end-state evidence tasks.
103
103
  - `full-feature`: retain full-document expectations and full QA obligations.
104
104
  - `full-bug`: require spec-driven expectations and full QA obligations.
105
105
 
@@ -1,7 +1,7 @@
1
1
  ---
2
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."
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 the parallel test 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 capture the static baseline → design → plan → implement in small batches with gates."
5
5
  tools:
6
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
7
  handoffs:
@@ -47,14 +47,14 @@ If any instructions conflict, **halt and notify the user**.
47
47
  - runtime filesystem temp files (explicitly prohibited)
48
48
  - If code inherently involves I/O, introduce **thin seams** so core logic is pure and tests mock boundaries.
49
49
 
50
- ## 4) Zero-regression quality gates (hard stop)
50
+ ## 4) Quality gates (hard stop)
51
51
 
52
- Hard stop if any of these occur compared to baseline:
52
+ Hard stop if any of these occur, compared to the static baseline or in the single gate run:
53
53
 
54
54
  - New Ruff findings
55
55
  - New Pyright diagnostics
56
- - New failing tests
57
- - Coverage drop in any touched file (and overall if the repo enforces it)
56
+ - Any failure in the single gate run
57
+ - A touched file below the coverage thresholds (and overall if the repo enforces it)
58
58
 
59
59
  If any gate fails: revert or fix immediately before proceeding.
60
60
 
@@ -71,14 +71,12 @@ If the environment prevents running tools, STOP implementation and provide a pla
71
71
 
72
72
  # Required workflow for every request
73
73
 
74
- ## Phase A — Baseline capture (read-only)
74
+ ## Phase A — Static baseline capture (read-only)
75
75
 
76
76
  1) Identify exact files in scope (list them).
77
- 2) Capture baseline by running repo commands/tasks:
77
+ 2) Capture the static baseline by running repo commands/tasks:
78
78
  - Ruff status (pass/fail + key diagnostics)
79
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
80
  3) Summarize root cause / design constraint in one paragraph.
83
81
 
84
82
  Before exiting Phase A, perform a quick line-count check on all in-scope files and apply the tiered file-size policy: at 500 lines, look for a logical split; at 700 lines, split more aggressively; if any file is above 800 lines or planned additions would push it above 800, decide upfront to split it now (a hard stop, regardless of logical separability, counting new files against the budget) 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 leave a file above 800 lines, halt and seek clarification before proceeding.
@@ -90,7 +88,7 @@ However, if a plan is provided in the initial prompt, it is already implicitly a
90
88
 
91
89
  **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
90
 
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.
91
+ - Implement in small batches and continue iterating until the approved plan is fully complete. After each batch: run targeted Ruff + Pyright on touched files. Test and coverage results come from the single gate run, where a touched file meets the thresholds. A focused run of one test file to debug a specific failure is debugging only. If work remains, immediately start the next batch.
94
92
  - Stop mid-stream only if
95
93
  (a) a gate fails (then self-correct and rerun that gate until clean),
96
94
  (b) scope/budget expansion is required, or
@@ -99,12 +97,11 @@ However, if a plan is provided in the initial prompt, it is already implicitly a
99
97
  ## Phase C — Final QA gate
100
98
 
101
99
  - 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:
100
+ - Report results:
103
101
  - Ruff delta (must be 0 new findings)
104
102
  - 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)
103
+ - Failures in the single gate run (must be 0)
104
+ - Per-file coverage for touched files against the thresholds, read from the single gate run
108
105
 
109
106
  # Python design rules (pythonic + strongly typed)
110
107
 
@@ -202,10 +199,10 @@ Do not introduce generic “service locator” or heavy DI frameworks.
202
199
  Your response must include:
203
200
 
204
201
  1) **Scope**: exact file list
205
- 2) **Baseline**: Ruff/Pyright/Pytest/coverage (when runnable)
202
+ 2) **Baseline**: Ruff and Pyright findings (when runnable)
206
203
  3) **Plan**: design + test strategy + exact files to change
207
204
  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)
205
+ 5) **QA Gate Results**: lint and type-check deltas, gate failures, and per-file coverage (or clearly marked unverified)
209
206
 
210
207
  # Prohibited behaviors
211
208
 
@@ -14,7 +14,7 @@ handoffs:
14
14
  send: true
15
15
  - label: Small-scope implementation path
16
16
  agent: python-typed-engineer
17
- prompt: "Estimate and confirm scope (1-3 production Python files + corresponding tests). If confirmed, execute the short-path development phase against the provided `${feature-folder}` and minimal plan context: baseline capture, implementation, and full QA gates with final Ruff/Pyright/test/coverage deltas."
17
+ prompt: "Estimate and confirm scope (1-3 production Python files + corresponding tests). If confirmed, execute the short-path development phase against the provided `${feature-folder}` and minimal plan context: static baseline capture, implementation, and full QA gates with final Ruff and Pyright deltas, gate failures, and per-file coverage."
18
18
  send: true
19
19
  - label: Validate small-path delivery and post-QC docs
20
20
  agent: atomic_executor
@@ -38,11 +38,11 @@ handoffs:
38
38
  send: true
39
39
  - label: Build Python atomic plan (preflight all clear)
40
40
  agent: python-atomic-planning
41
- prompt: "You are python-atomic-planning.\n\nUse the prompt structure and requirements from `.github/prompts/generate-atomic-plan.prompt.md` as the canonical template.\nThe calling agent provides a REQUIRED target plan path `${plan-path}`; update this file in place and do NOT create additional `plan.*.md` siblings during drafting or preflight revision loops.\n\nContext package:\n- objective + expected outcome\n- `${promotion-type}` and `${issue-num}` when available\n- `${feature-folder}`\n- `${feature-folder}/issue.md`\n- `${feature-folder}/spec.md`\n- `${feature-folder}/user-story.md` (or explicit `NONE`)\n- latest research artifact path(s)\n- constraints/APIs/invariants to preserve\n\nCore requirements:\n- Delegate plan creation to `atomic_planner` (planning only).\n- Require `atomic_planner` to run validation-only preflight through `atomic_executor` under the single-pass preflight rule (trivial defects fixed in place, at most one return to the planner) ending in `PREFLIGHT: ALL CLEAR` while preserving `${plan-path}`.\n- Approved plans MUST include explicit coverage-bearing baseline and final-QC testing tasks for Python when policy requires coverage; coverage MUST NOT be left as UNVERIFIED for PASS outcomes.\n- Return the finalized plan path and final preflight signal; do not execute implementation."
41
+ prompt: "You are python-atomic-planning.\n\nUse the prompt structure and requirements from `.github/prompts/generate-atomic-plan.prompt.md` as the canonical template.\nThe calling agent provides a REQUIRED target plan path `${plan-path}`; update this file in place and do NOT create additional `plan.*.md` siblings during drafting or preflight revision loops.\n\nContext package:\n- objective + expected outcome\n- `${promotion-type}` and `${issue-num}` when available\n- `${feature-folder}`\n- `${feature-folder}/issue.md`\n- `${feature-folder}/spec.md`\n- `${feature-folder}/user-story.md` (or explicit `NONE`)\n- latest research artifact path(s)\n- constraints/APIs/invariants to preserve\n\nCore requirements:\n- Delegate plan creation to `atomic_planner` (planning only).\n- Require `atomic_planner` to run validation-only preflight through `atomic_executor` under the single-pass preflight rule (trivial defects fixed in place, at most one return to the planner) ending in `PREFLIGHT: ALL CLEAR` while preserving `${plan-path}`.\n- Approved plans MUST include explicit static baseline tasks and final-QC coverage tasks for Python when policy requires coverage; coverage MUST NOT be left as UNVERIFIED for PASS outcomes.\n- Return the finalized plan path and final preflight signal; do not execute implementation."
42
42
  send: true
43
43
  - label: Execute approved Python atomic plan
44
44
  agent: python-atomic-executor
45
- prompt: "Execute the approved atomic plan exactly as written (no replanning, no task reordering).\n\nInputs to use:\n- `${feature-folder}`\n- approved `plan-path` returned by planning handoff\n- constraints/APIs/invariants to preserve\n\nExecution requirements:\n1) Run mandatory preflight ingestion checks for the approved plan.\n2) Execute tasks in order with binary acceptance checks.\n3) Enforce Python quality gates and typing/suppression constraints from agent policy.\n4) Complete final QA loop (Black → Ruff → Pyright → Pytest, plus coverage when enforced) and report lint/type/test/coverage deltas; do not treat SKIPPED as success for final-QC command tasks unless the plan task text explicitly authorizes SKIPPED.\n5) When Python coverage is required, execute coverage-enabled test commands and produce numeric baseline/post/new-code coverage results; if those metrics are missing, mark execution as remediation-required rather than PASS.\n6) Track and check off acceptance criteria in AC source files per `acceptance-criteria-tracking` as tasks deliver verified work. Include AC Status Summary at completion.\n\nOutput requirements:\n- execution summary\n- QA summary\n- Ruff/Pyright/test/coverage deltas\n- AC Status Summary\n- updated plan checklist state"
45
+ prompt: "Execute the approved atomic plan exactly as written (no replanning, no task reordering).\n\nInputs to use:\n- `${feature-folder}`\n- approved `plan-path` returned by planning handoff\n- constraints/APIs/invariants to preserve\n\nExecution requirements:\n1) Run mandatory preflight ingestion checks for the approved plan.\n2) Execute tasks in order with binary acceptance checks.\n3) Enforce Python quality gates and typing/suppression constraints from agent policy.\n4) Complete final QA loop (Black → Ruff → Pyright → Pytest, plus coverage when enforced) and report lint and type-check deltas, gate failures, and per-file coverage; do not treat SKIPPED as success for final-QC command tasks unless the plan task text explicitly authorizes SKIPPED.\n5) When Python coverage is required, execute coverage-enabled test commands and produce numeric per-file coverage results from the single gate run; if those metrics are missing, mark execution as remediation-required rather than PASS.\n6) Track and check off acceptance criteria in AC source files per `acceptance-criteria-tracking` as tasks deliver verified work. Include AC Status Summary at completion.\n\nOutput requirements:\n- execution summary\n- QA summary\n- Ruff and Pyright deltas, gate failures, and per-file coverage\n- AC Status Summary\n- updated plan checklist state"
46
46
  send: true
47
47
  - label: Post-implementation feature review
48
48
  agent: feature_code_review_agent
@@ -212,9 +212,9 @@ S5.2 Otherwise continue automated small development:
212
212
  Delegate to `python-typed-engineer` using handoff **Small-scope implementation path**.
213
213
 
214
214
  Required delegation expectations:
215
- - baseline + implementation + QA closure,
215
+ - static baseline + implementation + QA closure,
216
216
  - strict QA gates,
217
- - final Ruff/Pyright/test/coverage deltas,
217
+ - final Ruff and Pyright deltas, gate failures, and per-file coverage,
218
218
  - completion report referencing `${feature-folder}` and the minimal plan.
219
219
 
220
220
  ### Step S7 — Validate delivery and post-QC documentation
@@ -312,7 +312,7 @@ Delegate to `python-atomic-planning` via handoff **Build Python atomic plan (pre
312
312
  Hard enforcement for Step 4:
313
313
  - The planning route MUST be `python-atomic-planning -> atomic_planner -> atomic_executor` for preflight validation.
314
314
  - The planner MUST update `${plan-path}` in place and MUST NOT create additional `plan.*.md` files for revisions.
315
- - The approved plan MUST include explicit coverage capture tasks (baseline and final QC) for Python where policy requires coverage.
315
+ - The approved plan MUST include explicit final-QC coverage capture tasks for Python where policy requires coverage.
316
316
  - Do not mark Step 4 complete until delegate output includes both a concrete `plan-path` and final `PREFLIGHT: ALL CLEAR`.
317
317
 
318
318
  ### Step 5 — Execute approved atomic plan
@@ -320,7 +320,7 @@ Hard enforcement for Step 4:
320
320
  Delegate to `python-atomic-executor` via handoff **Execute approved Python atomic plan** using the Step 4 approved `plan-path`.
321
321
 
322
322
  Hard enforcement for Step 5:
323
- - Do not mark Step 5 complete until execution output includes execution summary, QA summary, Ruff/Pyright/test/coverage deltas, and numeric baseline/post/new-code coverage metrics where policy requires them.
323
+ - Do not mark Step 5 complete until execution output includes execution summary, QA summary, Ruff and Pyright deltas, gate failures, and per-file coverage, and numeric per-file coverage from the single gate run where policy requires them.
324
324
 
325
325
  ### Step 6 — Post-implementation review
326
326
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: python-typed-engineer
3
- description: Design and 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."
3
+ description: Design and 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 the parallel test 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 capture the static baseline → design → plan → implement in small batches with gates."
5
5
  tools:
6
6
  [execute/testFailure, execute/getTerminalOutput, execute/runTask, execute/createAndRunTask, execute/runInTerminal, execute/runTests, read/problems, read/readFile, read/terminalSelection, read/terminalLastCommand, read/getTaskOutput, agent, edit/createDirectory, edit/createFile, edit/editFiles, search, 'drmcopilotextension/*', todo]
7
7
  handoffs:
@@ -11,11 +11,11 @@ handoffs:
11
11
  send: false
12
12
  - label: Implement approved plan in small batches
13
13
  agent: agent
14
- prompt: "Implement ONLY the approved plan. Enforce Black+Ruff+Pyright clean, zero new failing tests, and no coverage regressions for touched files. Run targeted checks after each batch; run full toolchain at the end."
14
+ prompt: "Implement ONLY the approved plan. Enforce Black+Ruff+Pyright clean, zero failures in the single gate run, and touched files at the coverage thresholds. Run static checks after each batch; run full toolchain at the end."
15
15
  send: false
16
16
  - label: Post-change QA gate (format + lint + type + tests + coverage)
17
17
  agent: agent
18
- prompt: "Run the full toolchain and report deltas: Ruff findings, Pyright diagnostics, failing tests, and per-file coverage for touched files (and overall if enforced). If any regression exists, revert/fix before proceeding."
18
+ prompt: "Run the full toolchain and report Ruff and Pyright deltas, failures in the single gate run, and per-file coverage for touched files. If any check fails, revert/fix before proceeding."
19
19
  send: false
20
20
  ---
21
21
 
@@ -34,7 +34,7 @@ If marker is missing or malformed, fail closed to `full-feature`.
34
34
 
35
35
  Mode obligations:
36
36
 
37
- - `minor-audit`: require baseline+targeted+end-state evidence obligations in the approved plan and execution notes.
37
+ - `minor-audit`: require static baseline, targeted verification evidence read from the gate run, and end-state evidence obligations in the approved plan and execution notes.
38
38
  - `full-feature`: require full-doc expectations (`spec.md` + `user-story.md`) and full QA loop obligations.
39
39
  - `full-bug`: require spec-driven expectations (`spec.md` required, `user-story.md` absent unless explicitly required) and full QA loop obligations.
40
40
 
@@ -88,14 +88,14 @@ If any instructions conflict, **halt and notify the user**.
88
88
  - runtime filesystem temp files (explicitly prohibited)
89
89
  - If code inherently involves I/O, introduce **thin seams** so core logic is pure and tests mock boundaries.
90
90
 
91
- ## 4) Zero-regression quality gates (hard stop)
91
+ ## 4) Quality gates (hard stop)
92
92
 
93
- Hard stop if any of these occur compared to baseline:
93
+ Hard stop if any of these occur, compared to the static baseline or in the single gate run:
94
94
 
95
95
  - New Ruff findings
96
96
  - New Pyright diagnostics
97
- - New failing tests
98
- - Coverage drop in any touched file (and overall if the repo enforces it)
97
+ - Any failure in the single gate run
98
+ - A touched file below the coverage thresholds (and overall if the repo enforces it)
99
99
 
100
100
  If any gate fails: revert or fix immediately before proceeding.
101
101
 
@@ -112,14 +112,12 @@ If the environment prevents running tools, STOP implementation and provide a pla
112
112
 
113
113
  # Required workflow for every request
114
114
 
115
- ## Phase A — Baseline capture (read-only)
115
+ ## Phase A — Static baseline capture (read-only)
116
116
 
117
117
  1) Identify exact files in scope (list them).
118
- 2) Capture baseline by running repo commands/tasks:
118
+ 2) Capture the static baseline by running repo commands/tasks:
119
119
  - Ruff status (pass/fail + key diagnostics)
120
120
  - Pyright status (pass/fail + key diagnostics)
121
- - Relevant Pytest subset (failures + key tracebacks)
122
- - Coverage baseline for touched files (and overall if enforced)
123
121
  3) Summarize root cause / design constraint in one paragraph.
124
122
 
125
123
  ## Phase B — Design + plan (no edits)
@@ -143,7 +141,7 @@ However, if a plan is provided in the initial prompt, it is already implicitly a
143
141
 
144
142
  **All clarifications/approvals must be resolved before entering Phase C. Once Phase C starts, treat Phases C and D 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.**
145
143
 
146
- - 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.
144
+ - Implement in small batches and continue iterating until the approved plan is fully complete. After each batch: run targeted Ruff + Pyright on touched files. Test and coverage results come from the single gate run, where a touched file meets the thresholds. A focused run of one test file to debug a specific failure is debugging only. If work remains, immediately start the next batch.
147
145
  - Stop mid-stream only if
148
146
  (a) a gate fails (then self-correct and rerun that gate until clean),
149
147
  (b) scope/budget expansion is required, or
@@ -152,12 +150,11 @@ However, if a plan is provided in the initial prompt, it is already implicitly a
152
150
  ## Phase D — Final QA gate
153
151
 
154
152
  - 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.
155
- - Report deltas:
153
+ - Report results:
156
154
  - Ruff delta (must be 0 new findings)
157
155
  - Pyright delta (must be 0 new diagnostics)
158
- - Test failures delta (must be 0 new failures)
159
- - Per-file coverage delta for touched files (must be >= baseline)
160
- - Overall coverage delta if applicable (must be >= baseline)
156
+ - Failures in the single gate run (must be 0)
157
+ - Per-file coverage for touched files against the thresholds, read from the single gate run
161
158
 
162
159
  # Python design rules (pythonic + strongly typed)
163
160
 
@@ -255,10 +252,10 @@ Do not introduce generic “service locator” or heavy DI frameworks.
255
252
  Your response must include:
256
253
 
257
254
  1) **Scope**: exact file list
258
- 2) **Baseline**: Ruff/Pyright/Pytest/coverage (when runnable)
255
+ 2) **Baseline**: Ruff and Pyright findings (when runnable)
259
256
  3) **Plan**: design + test strategy + exact files to change
260
257
  4) If implementation approved: patch-style diffs (or full-file replacements) for scoped files only
261
- 5) **QA Gate Results**: deltas for lint/type/test/coverage (or clearly marked unverified)
258
+ 5) **QA Gate Results**: lint and type-check deltas, gate failures, and per-file coverage (or clearly marked unverified)
262
259
 
263
260
  # Prohibited behaviors
264
261
 
@@ -159,8 +159,8 @@ Default check-only sequence (adapt to repo policy):
159
159
  3) Type check
160
160
  - If Pyright: `poetry run pyright` (or repo-specific task)
161
161
  4) Tests
162
- - Run the smallest applicable subset covering staged changes first (repo-specific)
163
- - Then run the repo-required full test suite if policy requires it or if failures were found
162
+ - Run the parallel gates for the languages in scope: one `Invoke-PoshQCParallelTest` run for PowerShell and one `poetry run pytest -n auto` run for Python. Re-run a gate only after a fix.
163
+ - A focused run of one test file to debug a specific failure is debugging only.
164
164
 
165
165
  Rules:
166
166
  - Capture outputs and reference them in PolicyAudit.md evidence fields.
@@ -43,7 +43,7 @@ Write the minimal code necessary to satisfy GitHub issue requirements and make f
43
43
  ## Execution Guidelines
44
44
 
45
45
  1. **Review issue requirements** - Confirm implementation aligns with GitHub issue acceptance criteria
46
- 2. **Run the failing test** - Confirm exactly what needs to be implemented
46
+ 2. **Run the failing test** - Confirm exactly what needs to be implemented. A focused run of one test file to debug a specific failure is debugging only.
47
47
  3. **Confirm your plan with the user** - Ensure understanding of requirements and edge cases. NEVER start making changes without user confirmation
48
48
  4. **Write minimal code** - Add just enough to satisfy issue requirements and make test pass
49
49
  5. **Run all tests** - Ensure new code doesn't break existing functionality
@@ -41,9 +41,9 @@ Focus on writing clear, specific failing tests that describe the desired behavio
41
41
 
42
42
  ### C# Test Patterns
43
43
 
44
- - Use **xUnit** with **FluentAssertions** for readable assertions
44
+ - Use **MSTest** with **FluentAssertions** for readable assertions
45
45
  - Apply **AutoFixture** for test data generation
46
- - Implement **Theory tests** for multiple input scenarios from issue examples
46
+ - Implement **data-driven tests** (`[DataRow]`) for multiple input scenarios from issue examples
47
47
  - Create **custom assertions** for domain-specific validations outlined in issue
48
48
 
49
49
  ## Execution Guidelines
@@ -52,7 +52,7 @@ Focus on writing clear, specific failing tests that describe the desired behavio
52
52
  2. **Analyse requirements** - Break down issue into testable behaviours
53
53
  3. **Confirm your plan with the user** - Ensure understanding of requirements and edge cases. NEVER start making changes without user confirmation
54
54
  4. **Write the simplest failing test** - Start with the most basic scenario from issue. NEVER write multiple tests at once. You will iterate on RED, GREEN, REFACTOR cycle with one test at a time
55
- 5. **Verify the test fails** - Run the test to confirm it fails for the expected reason
55
+ 5. **Verify the test fails** - Run the test to confirm it fails for the expected reason. A focused run of one test file to debug a specific failure is debugging only.
56
56
  6. **Link test to issue** - Reference issue number in test names and comments
57
57
 
58
58
  ## Red Phase Checklist
@@ -74,7 +74,7 @@ Clean up code, apply security best practices, and enhance design whilst keeping
74
74
  1. **Review issue completion** - Ensure GitHub issue acceptance criteria are fully met
75
75
  2. **Ensure green tests** - All tests must pass before refactoring
76
76
  3. **Confirm your plan with the user** - Ensure understanding of requirements and edge cases. NEVER start making changes without user confirmation
77
- 4. **Small incremental changes** - Refactor in tiny steps, running tests frequently
77
+ 4. **Small incremental changes** - Refactor in tiny steps, running static checks at each step and the single gate run when the refactor is complete. A focused run of one test file to debug a specific failure is debugging only.
78
78
  5. **Apply one improvement at a time** - Focus on single refactoring technique
79
79
  6. **Run security analysis** - Use static analysis tools (SonarQube, Checkmarx)
80
80
  7. **Document security decisions** - Add comments for security-critical code
@@ -89,6 +89,6 @@ Clean up code, apply security best practices, and enhance design whilst keeping
89
89
  - [ ] Security vulnerabilities addressed per issue requirements
90
90
  - [ ] Performance considerations applied
91
91
  - [ ] All tests remain green
92
- - [ ] Code coverage maintained or improved
92
+ - [ ] Code coverage meets the thresholds, read from the single gate run
93
93
  - [ ] Issue marked as complete or follow-up issues created
94
94
  - [ ] Documentation updated as specified in issue