@danmoisan/drm-copilot-mcp 1.1.17 → 1.1.19

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 (225) hide show
  1. package/out/mcp-server.js +1405 -684
  2. package/package.json +6 -4
  3. package/resources/claude-customizations/.claude/agents/atomic-executor.md +11 -0
  4. package/resources/claude-customizations/.claude/agents/atomic-planner.md +10 -0
  5. package/resources/claude-customizations/.claude/agents/epic-orchestrator.md +12 -4
  6. package/resources/claude-customizations/.claude/agents/epic-planner.md +5 -4
  7. package/resources/claude-customizations/.claude/agents/feature-review.md +16 -5
  8. package/resources/claude-customizations/.claude/agents/orchestrator.md +21 -7
  9. package/resources/claude-customizations/.claude/agents/parallel-orchestrator.md +37 -13
  10. package/resources/claude-customizations/.claude/agents/parallel-planner.md +9 -6
  11. package/resources/claude-customizations/.claude/agents/pr-author.md +15 -2
  12. package/resources/claude-customizations/.claude/agents/prd-feature.md +1 -1
  13. package/resources/claude-customizations/.claude/hooks/check-powershell-test-purity.ps1 +7 -1
  14. package/resources/claude-customizations/.claude/hooks/check-python-test-purity.ps1 +7 -1
  15. package/resources/claude-customizations/.claude/hooks/enforce-checkpoint-monotonic.ps1 +7 -1
  16. package/resources/claude-customizations/.claude/hooks/enforce-completion-consistency.ps1 +111 -46
  17. package/resources/claude-customizations/.claude/hooks/enforce-completion-helpers.ps1 +105 -0
  18. package/resources/claude-customizations/.claude/hooks/enforce-discovery-artifact-gate.ps1 +8 -1
  19. package/resources/claude-customizations/.claude/hooks/enforce-epic-invocation-origin.ps1 +7 -1
  20. package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate-resolution.ps1 +116 -59
  21. package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate.ps1 +55 -23
  22. package/resources/claude-customizations/.claude/hooks/enforce-epic-wave-barrier.ps1 +74 -75
  23. package/resources/claude-customizations/.claude/hooks/enforce-epic-worktree-removal-gate-resolution.ps1 +127 -35
  24. package/resources/claude-customizations/.claude/hooks/enforce-epic-worktree-removal-gate.ps1 +61 -57
  25. package/resources/claude-customizations/.claude/hooks/enforce-evidence-locations.ps1 +7 -1
  26. package/resources/claude-customizations/.claude/hooks/enforce-feature-folder-order.ps1 +129 -39
  27. package/resources/claude-customizations/.claude/hooks/enforce-mermaid-validation.ps1 +7 -1
  28. package/resources/claude-customizations/.claude/hooks/enforce-model-routing-receipt.ps1 +9 -3
  29. package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-epic-scope.ps1 +39 -51
  30. package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-helpers.ps1 +31 -58
  31. package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-modes.ps1 +63 -47
  32. package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-targets.ps1 +433 -0
  33. package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate.ps1 +17 -12
  34. package/resources/claude-customizations/.claude/hooks/enforce-parallel-abandon-gate.ps1 +9 -3
  35. package/resources/claude-customizations/.claude/hooks/enforce-parallel-cohort-barrier.ps1 +65 -50
  36. package/resources/claude-customizations/.claude/hooks/enforce-parallel-drift-gate.ps1 +49 -42
  37. package/resources/claude-customizations/.claude/hooks/enforce-parallel-worktree-removal-gate.ps1 +54 -72
  38. package/resources/claude-customizations/.claude/hooks/enforce-powershell-batch-budget.ps1 +8 -2
  39. package/resources/claude-customizations/.claude/hooks/enforce-pr-author-command-allowlist.ps1 +279 -0
  40. package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill-helpers.ps1 +129 -75
  41. package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.artifact-root.ps1 +233 -0
  42. package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.docs-only.ps1 +224 -0
  43. package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.ps1 +69 -24
  44. package/resources/claude-customizations/.claude/hooks/enforce-prd-feature-before-planner-helpers.ps1 +29 -18
  45. package/resources/claude-customizations/.claude/hooks/enforce-prd-feature-before-planner.ps1 +10 -4
  46. package/resources/claude-customizations/.claude/hooks/enforce-promotion-mcp-only.ps1 +14 -5
  47. package/resources/claude-customizations/.claude/hooks/enforce-python-batch-budget.ps1 +8 -2
  48. package/resources/claude-customizations/.claude/hooks/feature-folder-resolution.ps1 +373 -0
  49. package/resources/claude-customizations/.claude/hooks/feature-review-coverage-thresholds.ps1 +85 -0
  50. package/resources/claude-customizations/.claude/hooks/hook-command-heredoc.ps1 +119 -0
  51. package/resources/claude-customizations/.claude/hooks/hook-command-invocation-operands.ps1 +198 -0
  52. package/resources/claude-customizations/.claude/hooks/hook-command-invocation.ps1 +254 -255
  53. package/resources/claude-customizations/.claude/hooks/hook-command-payload-powershell.ps1 +201 -0
  54. package/resources/claude-customizations/.claude/hooks/hook-command-payload.ps1 +484 -0
  55. package/resources/claude-customizations/.claude/hooks/hook-command-scanner.ps1 +27 -110
  56. package/resources/claude-customizations/.claude/hooks/hook-dependency-guard.ps1 +114 -0
  57. package/resources/claude-customizations/.claude/hooks/hook-docs-only-diff.ps1 +493 -0
  58. package/resources/claude-customizations/.claude/hooks/subagentstop-envelope.ps1 +192 -0
  59. package/resources/claude-customizations/.claude/hooks/validate-bash.ps1 +9 -3
  60. package/resources/claude-customizations/.claude/hooks/validate-discovery-artifact-gate.ps1 +40 -42
  61. package/resources/claude-customizations/.claude/hooks/validate-executor-output.ps1 +66 -38
  62. package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage-metrics.ps1 +180 -0
  63. package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage-rules.ps1 +195 -0
  64. package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage.ps1 +141 -395
  65. package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output-resolution.ps1 +311 -0
  66. package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output-routing.ps1 +170 -0
  67. package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output.ps1 +115 -190
  68. package/resources/claude-customizations/.claude/hooks/validate-planner-output.ps1 +64 -32
  69. package/resources/claude-customizations/.claude/hooks/validate-pr-author-output.ps1 +39 -44
  70. package/resources/claude-customizations/.claude/hooks/validate-prd-feature-output.ps1 +43 -14
  71. package/resources/claude-customizations/.claude/hooks/validate-required-artifact-output.ps1 +66 -36
  72. package/resources/claude-customizations/.claude/hooks/validate-task-researcher-output.ps1 +31 -34
  73. package/resources/claude-customizations/.claude/lib/bash/mutate-parallel-run.sh +191 -0
  74. package/resources/claude-customizations/.claude/lib/bash/parallel-cohorts.sh +13 -3
  75. package/resources/claude-customizations/.claude/lib/bash/parallel-lane-assertion.sh +4 -2
  76. package/resources/claude-customizations/.claude/lib/bash/parallel-mutation-cli.sh +152 -0
  77. package/resources/claude-customizations/.claude/lib/bash/parallel-mutation-ops.sh +193 -0
  78. package/resources/claude-customizations/.claude/lib/bash/parallel-mutation.sh +322 -0
  79. package/resources/claude-customizations/.claude/lib/bash/remove-parallel-item.sh +146 -0
  80. package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusExtraction.psm1 +23 -33
  81. package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusTokenShape.psm1 +86 -6
  82. package/resources/claude-customizations/.claude/lib/ci-gate/Invoke-CiGateParser.ps1 +91 -19
  83. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorState.psm1 +6 -13
  84. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateEpicWaveBarrier.psm1 +346 -0
  85. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateIssueAdoption.psm1 +396 -0
  86. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateReceipts.psm1 +22 -15
  87. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateRemediationAccounting.psm1 +337 -0
  88. package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateRoutingContract.psm1 +9 -1
  89. package/resources/claude-customizations/.claude/lib/worktree-resolution/WorktreeItemResolution.psm1 +79 -2
  90. package/resources/claude-customizations/.claude/lib/worktree-resolution/WorktreeRunResolution.psm1 +3 -3
  91. package/resources/claude-customizations/.claude/rules/architecture-boundaries.md +5 -5
  92. package/resources/claude-customizations/.claude/rules/csharp.md +2 -2
  93. package/resources/claude-customizations/.claude/rules/general-code-change.md +1 -1
  94. package/resources/claude-customizations/.claude/rules/general-unit-test.md +3 -2
  95. package/resources/claude-customizations/.claude/rules/orchestrator-state.md +153 -4
  96. package/resources/claude-customizations/.claude/rules/parallel-orchestration.md +50 -5
  97. package/resources/claude-customizations/.claude/rules/plan-acceptance-gates.md +47 -8
  98. package/resources/claude-customizations/.claude/rules/quality-tiers.md +11 -7
  99. package/resources/claude-customizations/.claude/rules/shell.md +10 -8
  100. package/resources/claude-customizations/.claude/rules/typescript.md +1 -1
  101. package/resources/claude-customizations/.claude/settings.json +3 -4
  102. package/resources/claude-customizations/.claude/skills/acceptance-criteria-tracking/SKILL.md +9 -1
  103. package/resources/claude-customizations/.claude/skills/atomic-plan-contract/SKILL.md +7 -1
  104. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/SKILL.md +11 -3
  105. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup-worktrees.sh +11 -2
  106. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_detached_lib.sh +1 -1
  107. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_enumerate_lib.sh +171 -5
  108. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_preserve_lib.sh +1 -1
  109. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_report_records_lib.sh +6 -43
  110. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_scan_helper.sh +6 -15
  111. package/resources/claude-customizations/.claude/skills/epic-orchestrate/SKILL.md +45 -11
  112. package/resources/claude-customizations/.claude/skills/epic-plan/SKILL.md +1 -1
  113. package/resources/claude-customizations/.claude/skills/evidence-and-timestamp-conventions/SKILL.md +13 -0
  114. package/resources/claude-customizations/.claude/skills/feature-promotion-lifecycle/SKILL.md +10 -0
  115. package/resources/claude-customizations/.claude/skills/feature-review-workflow/SKILL.md +7 -4
  116. package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +42 -16
  117. package/resources/claude-customizations/.claude/skills/parallel-add/SKILL.md +52 -14
  118. package/resources/claude-customizations/.claude/skills/parallel-close/SKILL.md +22 -9
  119. package/resources/claude-customizations/.claude/skills/parallel-orchestrate/SKILL.md +97 -19
  120. package/resources/claude-customizations/.claude/skills/parallel-plan/SKILL.md +63 -7
  121. package/resources/claude-customizations/.claude/skills/parallel-remove/SKILL.md +35 -12
  122. package/resources/claude-customizations/.claude/skills/pr-author/SKILL.md +3 -1
  123. package/resources/claude-customizations/.claude/skills/quota-throttling/SKILL.md +1 -1
  124. package/resources/claude-customizations/.claude/skills/remediation-handoff-atomic-planner/SKILL.md +7 -3
  125. package/resources/claude-customizations/pack-manifests/core.json +25 -0
  126. package/resources/codex-and-agents-customizations/.agents/skills/acceptance-criteria-tracking/SKILL.md +9 -1
  127. package/resources/codex-and-agents-customizations/.agents/skills/architecture-boundaries/SKILL.md +5 -5
  128. package/resources/codex-and-agents-customizations/.agents/skills/atomic-executor/SKILL.md +11 -0
  129. package/resources/codex-and-agents-customizations/.agents/skills/atomic-plan-contract/SKILL.md +4 -0
  130. package/resources/codex-and-agents-customizations/.agents/skills/atomic-planner/SKILL.md +10 -0
  131. package/resources/codex-and-agents-customizations/.agents/skills/csharp/SKILL.md +2 -2
  132. package/resources/codex-and-agents-customizations/.agents/skills/csharp-qa-gate/SKILL.md +2 -2
  133. package/resources/codex-and-agents-customizations/.agents/skills/epic-orchestrate/SKILL.md +13 -3
  134. package/resources/codex-and-agents-customizations/.agents/skills/epic-plan/SKILL.md +17 -1
  135. package/resources/codex-and-agents-customizations/.agents/skills/epic-run/SKILL.md +2 -1
  136. package/resources/codex-and-agents-customizations/.agents/skills/evidence-and-timestamp-conventions/SKILL.md +13 -0
  137. package/resources/codex-and-agents-customizations/.agents/skills/feature-promotion-lifecycle/SKILL.md +1 -1
  138. package/resources/codex-and-agents-customizations/.agents/skills/feature-review/SKILL.md +30 -6
  139. package/resources/codex-and-agents-customizations/.agents/skills/feature-review-workflow/SKILL.md +16 -6
  140. package/resources/codex-and-agents-customizations/.agents/skills/general-code-change/SKILL.md +1 -1
  141. package/resources/codex-and-agents-customizations/.agents/skills/general-unit-test/SKILL.md +3 -2
  142. package/resources/codex-and-agents-customizations/.agents/skills/orchestrate/SKILL.md +43 -11
  143. package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-state/SKILL.md +41 -2
  144. package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +19 -4
  145. package/resources/codex-and-agents-customizations/.agents/skills/quality-tiers/SKILL.md +11 -7
  146. package/resources/codex-and-agents-customizations/.agents/skills/remediation-handoff-atomic-planner/SKILL.md +2 -0
  147. package/resources/codex-and-agents-customizations/.agents/skills/translate-claude-to-codex/SKILL.md +1 -1
  148. package/resources/codex-and-agents-customizations/.agents-variants/csharp-legacy/skills/csharp/SKILL.md +2 -2
  149. package/resources/codex-and-agents-customizations/.agents-variants/csharp-legacy/skills/csharp-qa-gate/SKILL.md +2 -2
  150. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c1.toml +11 -0
  151. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c2.toml +11 -0
  152. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3-elevated.toml +11 -0
  153. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3.toml +11 -0
  154. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c4.toml +11 -0
  155. package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor.toml +11 -0
  156. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c1.toml +10 -0
  157. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c2.toml +10 -0
  158. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c3-elevated.toml +10 -0
  159. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c3.toml +10 -0
  160. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c4.toml +10 -0
  161. package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner.toml +10 -0
  162. package/resources/codex-and-agents-customizations/.codex/agents/epic-orchestrator.toml +2 -1
  163. package/resources/codex-and-agents-customizations/.codex/agents/feature-review.toml +6 -6
  164. package/resources/codex-and-agents-customizations/.codex/agents/feature-reviewer-c1.toml +1 -0
  165. package/resources/codex-and-agents-customizations/.codex/agents/feature-reviewer-c2.toml +1 -0
  166. package/resources/codex-and-agents-customizations/.codex/agents/feature-reviewer-c3-elevated.toml +1 -0
  167. package/resources/codex-and-agents-customizations/.codex/agents/feature-reviewer-c3.toml +1 -0
  168. package/resources/codex-and-agents-customizations/.codex/agents/feature-reviewer-c4.toml +1 -0
  169. package/resources/codex-and-agents-customizations/.codex/agents/feature-reviewer.toml +1 -0
  170. package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c1.toml +3 -3
  171. package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c2.toml +3 -3
  172. package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c3-elevated.toml +3 -3
  173. package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c3.toml +3 -3
  174. package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c4.toml +3 -3
  175. package/resources/codex-and-agents-customizations/.codex/agents/orchestrator.toml +3 -3
  176. package/resources/codex-and-agents-customizations/.codex/codex-web-setup.sh +318 -273
  177. package/resources/codex-and-agents-customizations/.codex/config.toml +1 -1
  178. package/resources/codex-and-agents-customizations/.codex/hooks/check-powershell-test-purity.ps1 +7 -1
  179. package/resources/codex-and-agents-customizations/.codex/hooks/check-python-test-purity.ps1 +7 -1
  180. package/resources/codex-and-agents-customizations/.codex/hooks/codex-epic-child-launch-attestation.ps1 +1 -1
  181. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-checkpoint-monotonic.ps1 +7 -1
  182. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-codex-model-routing.ps1 +8 -2
  183. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-completion-consistency.ps1 +97 -44
  184. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-completion-helpers.ps1 +105 -0
  185. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-child-worktree-binding.ps1 +7 -1
  186. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-merge-gate.ps1 +37 -5
  187. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-planning-only.ps1 +6 -0
  188. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-root-invocation.ps1 +7 -1
  189. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-wave-barrier.ps1 +7 -1
  190. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-worktree-removal-gate.ps1 +54 -41
  191. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-evidence-locations.ps1 +7 -1
  192. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-epic-scope.ps1 +35 -14
  193. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-helpers.ps1 +31 -58
  194. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-modes.ps1 +63 -47
  195. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-targets.ps1 +433 -0
  196. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate.ps1 +24 -11
  197. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-powershell-batch-budget.ps1 +8 -2
  198. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-promotion-mcp-only.ps1 +13 -4
  199. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-python-batch-budget.ps1 +8 -2
  200. package/resources/codex-and-agents-customizations/.codex/hooks/feature-folder-resolution.ps1 +373 -0
  201. package/resources/codex-and-agents-customizations/.codex/hooks/feature-review-coverage-thresholds.ps1 +85 -0
  202. package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-heredoc.ps1 +119 -0
  203. package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-invocation-operands.ps1 +198 -0
  204. package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-invocation.ps1 +254 -255
  205. package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-payload-powershell.ps1 +201 -0
  206. package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-payload.ps1 +484 -0
  207. package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-scanner.ps1 +27 -110
  208. package/resources/codex-and-agents-customizations/.codex/hooks/hook-dependency-guard.ps1 +114 -0
  209. package/resources/codex-and-agents-customizations/.codex/hooks/hook-docs-only-diff.ps1 +493 -0
  210. package/resources/codex-and-agents-customizations/.codex/hooks/validate-bash.ps1 +8 -2
  211. package/resources/codex-and-agents-customizations/.codex/hooks/validate-codex-subagent-routing.ps1 +7 -1
  212. package/resources/codex-and-agents-customizations/.codex/hooks/validate-feature-review-coverage.ps1 +24 -8
  213. package/resources/codex-and-agents-customizations/pack-manifests/core.json +9 -0
  214. package/resources/customizations/.github/agents/csharp-typed-engineer.agent.md +2 -2
  215. package/resources/customizations/.github/instructions/csharp-code-change.instructions.md +4 -4
  216. package/resources/customizations/.github/instructions/csharp-unit-test.instructions.md +2 -2
  217. package/resources/customizations/.github/skills/acceptance-criteria-tracking/SKILL.md +9 -1
  218. package/resources/customizations/.github/skills/atomic-plan-contract/SKILL.md +4 -0
  219. package/resources/customizations/.github/skills/evidence-and-timestamp-conventions/SKILL.md +13 -0
  220. package/resources/customizations/.github/skills/feature-review-workflow/SKILL.md +1 -1
  221. package/resources/powershell/PoshQC/PoshQC.Coverage.psm1 +314 -0
  222. package/resources/powershell/PoshQC/PoshQC.Testing.psm1 +25 -28
  223. package/resources/powershell/PoshQC/PoshQC.psm1 +1 -0
  224. package/resources/powershell/PoshQC/README.md +8 -2
  225. package/resources/powershell/PoshQC/settings/pester.runsettings.psd1 +2 -315
@@ -20,321 +20,8 @@
20
20
  # can map file paths correctly.
21
21
  OutputFormat = 'CoverageGutters'
22
22
  OutputPath = 'artifacts/pester/powershell-coverage.xml'
23
- Path = @(
24
- # Scope coverage to hook files with deterministic Pester coverage in this branch.
25
- # Broader script/module globs include bootstrap and one-shot automation paths that
26
- # are validated by their own suites but not meaningfully covered by this hook batch.
27
- '.claude/hooks/validate-bash.ps1'
28
- '.claude/hooks/check-python-test-purity.ps1'
29
- '.claude/hooks/check-powershell-test-purity.ps1'
30
- '.claude/hooks/enforce-python-batch-budget.ps1'
31
- '.claude/hooks/enforce-powershell-batch-budget.ps1'
32
- '.claude/hooks/enforce-batch-budget-route.ps1'
33
- # Issue #272 hardened this PreToolUse hook with a new orchestrator-state preflight
34
- # check; measured here so the change produces real per-file coverage evidence.
35
- '.claude/hooks/enforce-pr-author-skill.ps1'
36
- # Issue #214 added/changed these four release scripts and provided dedicated
37
- # Pester suites; they are measured here to produce real per-file changed-line
38
- # coverage rather than relying on behavioral-only evidence.
39
- 'scripts/powershell/Publish-DrmCopilotExtension.ps1'
40
- 'scripts/dev-tools/Invoke-FullRelease.ps1'
41
- 'scripts/dev-tools/Invoke-MarketplacePublish.ps1'
42
- 'scripts/dev-tools/Invoke-ReleaseTagPush.ps1'
43
- # Issue #275 remediation cycle 1 (fix #3): measure the epic-orchestrate hook set and
44
- # its dot-sourced sibling module so no production hook is excluded from coverage.
45
- '.claude/hooks/enforce-epic-merge-gate.ps1'
46
- # Issue #670: CodeCoverage.Path is an explicit per-file allow-list, so the dot-sourced helpers file is listed here.
47
- '.claude/hooks/enforce-epic-merge-gate-authorization.ps1'
48
- '.claude/hooks/enforce-epic-merge-gate-resolution.ps1'
49
- '.claude/hooks/enforce-epic-wave-barrier.ps1'
50
- '.claude/hooks/enforce-epic-worktree-removal-gate.ps1'
51
- '.claude/hooks/enforce-epic-worktree-removal-gate-resolution.ps1'
52
- '.claude/hooks/enforce-pr-author-skill.ps1'
53
- '.claude/hooks/validate-orchestrator-output.ps1'
54
- '.claude/hooks/enforce-pr-author-skill.epic-base-branch.ps1'
55
- # Issue #301 remediation cycle 1 (fix #1): measure the completion-consistency
56
- # hook set (Claude and Codex variants) so their Pester coverage is captured.
57
- '.claude/hooks/enforce-completion-consistency.ps1'
58
- '.claude/hooks/enforce-completion-helpers.ps1'
59
- '.codex/hooks/enforce-completion-consistency.ps1'
60
- '.codex/hooks/enforce-completion-helpers.ps1'
61
- # Issue #298 fixed ConvertTo-CommandResult's handling of an empty array Output
62
- # parameter in this script; measured here so the change produces real per-file
63
- # coverage evidence going forward.
64
- 'scripts/dev-tools/Invoke-FullReleaseFlow.ps1'
65
- # Issue #305 added this PreToolUse model-routing-receipt deterrent hook; measured
66
- # here so the new production hook is not excluded from coverage.
67
- '.claude/hooks/enforce-model-routing-receipt.ps1'
68
- # Issue #312 added the .claude-resident PowerShell model-routing library so the
69
- # push-down bundle no longer cites missing scripts/dev_tools references; measured
70
- # here so the new production module is not excluded from coverage.
71
- '.claude/lib/model-routing/ModelRouting.psm1'
72
- # The portable orchestrator-state modules make the pushed-down enforcement hooks
73
- # work in consumer repos without scripts/dev_tools; measured here so the new
74
- # production modules are not excluded from coverage.
75
- '.claude/lib/orchestrator-state/OrchestratorState.psm1'
76
- '.claude/lib/orchestrator-state/OrchestratorStateCompletion.psm1'
77
- # Issue #328 added this dev-tools worktree launcher script; measured here so the
78
- # changed production file is in the coverage denominator (R1). The test suite
79
- # dot-sources the file (guarded body) so line attribution is valid.
80
- 'scripts/dev-tools/new-claude-worktree-session.ps1'
81
- # Issue #334 added this SessionStart hook that persists the current session id;
82
- # measured here so the new production hook is not excluded from coverage. The
83
- # test suite dot-sources the file (guarded body) so line attribution is valid.
84
- '.claude/hooks/persist-session-id.ps1'
85
- # Issue #344 remediation cycle 1 (R2): measure the new production ScanConfig module
86
- # so it is not excluded from coverage; PoshQC.psm1 sub-module loading was refactored
87
- # to AST-based scriptblocks (Parser::ParseFile(...).GetScriptBlock()) so Pester
88
- # coverage breakpoints bind to the on-disk source file.
89
- 'scripts/powershell/PoshQC/PoshQC.ScanConfig.psm1'
90
- # Issue #357 remediation cycle 1 (fix #1): measure the atomic-planner SubagentStop
91
- # hook so its Pester coverage is captured in the canonical artifact.
92
- '.claude/hooks/validate-planner-output.ps1'
93
- # Issue #366 added the discovery-artifact completion-gate hooks (PreToolUse and
94
- # SubagentStop); measured here so the new production hooks are not excluded from
95
- # coverage.
96
- '.claude/hooks/enforce-discovery-artifact-gate.ps1'
97
- '.claude/hooks/validate-discovery-artifact-gate.ps1'
98
- # Issue #475 added the portable discovery-validation module so both discovery
99
- # hooks stop invoking a Python interpreter; measured here so the new production
100
- # module is not excluded from coverage.
101
- '.claude/lib/discovery-validation/DiscoveryValidation.psm1'
102
- # Issue #475 added the portable orchestrator-state parity modules so the
103
- # completion hook validates the checkpoint without a Python interpreter;
104
- # measured here so the new production modules are not excluded from coverage.
105
- '.claude/lib/orchestrator-state/OrchestratorStateCheckpointValue.psm1'
106
- '.claude/lib/orchestrator-state/OrchestratorStateReceipts.psm1'
107
- '.claude/lib/orchestrator-state/OrchestratorStateModelReceipts.psm1'
108
- # Issue #475 added the portable Codex routing resolvers so the U6.X and U6.T
109
- # checkpoint checks resolve deployments and topologies without a Python
110
- # interpreter; measured here so the new production modules are not excluded.
111
- '.claude/lib/codex-routing/CodexDeployment.psm1'
112
- '.claude/lib/codex-routing/CodexTopology.psm1'
113
- # Issue #697 added the PowerShell routing CLI wrappers and their shared
114
- # helper so destinations resolve routing without a Python interpreter;
115
- # measured here so the new production scripts are not excluded.
116
- '.codex/scripts/codex-routing-cli-common.ps1'
117
- '.codex/scripts/Resolve-CodexDeployment.ps1'
118
- '.codex/scripts/Resolve-CodexTopology.ps1'
119
- '.claude/lib/orchestrator-state/OrchestratorStateCodexModelReceipts.psm1'
120
- '.claude/lib/orchestrator-state/OrchestratorStateCodexTopologyReceipts.psm1'
121
- '.claude/lib/orchestrator-state/OrchestratorStateRoutingMatrix.psm1'
122
- '.claude/lib/orchestrator-state/OrchestratorStateCompletionChecks.psm1'
123
- '.claude/lib/orchestrator-state/OrchestratorStateRoutingContract.psm1'
124
- '.claude/lib/orchestrator-state/OrchestratorStateUnconditional.psm1'
125
- # Issue #392 changed the Invoke-PoshQCTest default seams ($EnsureModule -Global
126
- # import and the global-session-state $InvokePester trampoline) so the bundled
127
- # entry path hosts the Pester run in the global session state; measured here so
128
- # the fix produces real per-file changed-line coverage evidence.
129
- 'scripts/powershell/PoshQC/PoshQC.Testing.psm1'
130
- # Issue #415 remediation cycle 1 (R1): the PreToolUse hook transport fix added the
131
- # shared payload-parsing module and rewired seven Codex hooks to consume it. Those
132
- # production files were absent from this list, so the changed surface was outside
133
- # the coverage denominator. Measured here so the changed production surface is not
134
- # excluded from coverage.
135
- '.codex/hooks/codex-pretooluse-file-mapping.ps1'
136
- '.codex/hooks/check-python-test-purity.ps1'
137
- '.codex/hooks/check-powershell-test-purity.ps1'
138
- '.codex/hooks/enforce-python-batch-budget.ps1'
139
- '.codex/hooks/enforce-powershell-batch-budget.ps1'
140
- '.codex/hooks/enforce-batch-budget-route.ps1'
141
- '.codex/hooks/enforce-evidence-locations.ps1'
142
- '.codex/hooks/enforce-checkpoint-monotonic.ps1'
143
- '.codex/hooks/enforce-orchestration-preimplementation-gate.ps1'
144
- # Issue #539 extracted the command-branch pathspec classifier into this
145
- # dot-sourced sibling for headroom; registered so the new production file stays
146
- # in the coverage denominator per the Coverage Exclusion Policy.
147
- '.codex/hooks/enforce-orchestration-preimplementation-gate-helpers.ps1'
148
- # Issue #554 added this pure dot-sourced modes sibling, holding the mode dispatch
149
- # table and the epic and parallel readiness predicates; registered so the new
150
- # production file stays in the coverage denominator per the Coverage Exclusion Policy.
151
- '.codex/hooks/enforce-orchestration-preimplementation-gate-modes.ps1'
152
- # Issue #707 added these two dot-sourced siblings for the Codex epic-scope command and path legs.
153
- '.codex/hooks/enforce-orchestration-preimplementation-gate-epic-scope.ps1'
154
- '.codex/hooks/enforce-orchestration-preimplementation-gate-epic-resolution.ps1'
155
- # Issue #415 remediation cycle 2 (R-COV): the detached-HEAD null-guard fix changed
156
- # these two Codex PreToolUse hooks. Both were absent from this list, so the changed
157
- # production surface was outside the coverage denominator. Measured here so the
158
- # changed production surface is not excluded from coverage.
159
- '.codex/hooks/enforce-epic-child-worktree-binding.ps1'
160
- '.codex/hooks/enforce-epic-planning-only.ps1'
161
- # Issue #447 added the .claude-resident PowerShell blast-radius library, the
162
- # two-language mirror of scripts/dev_tools/compute_blast_radius.py and its
163
- # helper modules. The set is split across seven files only to satisfy the
164
- # 500-line limit; measured here so no new production module is excluded from
165
- # coverage.
166
- # Issue #489 added BlastRadiusNormalization.psm1, which holds the
167
- # read-by-mandate exclusion plus Get-ContractIdentifier and
168
- # Resolve-BlastRadiusModule relocated out of the two modules that had run
169
- # out of headroom. The relocation moves already-measured lines, so the new
170
- # file is registered here to keep them in the coverage denominator.
171
- # Issue #502 added BlastRadiusTokenShape.psm1, the seventh file. It holds the
172
- # new placeholder-marker predicate plus Test-MultipleFeatureFolderSpan
173
- # relocated out of BlastRadiusExtraction.psm1, which had two lines of
174
- # headroom left. CodeCoverage.Path is an explicit per-file allow-list, so
175
- # without this entry the new production module and the relocated
176
- # already-measured lines would both sit outside the coverage denominator,
177
- # which the Coverage Exclusion Policy forbids.
178
- '.claude/lib/blast-radius/BlastRadiusExtraction.psm1'
179
- '.claude/lib/blast-radius/BlastRadiusGlob.psm1'
180
- '.claude/lib/blast-radius/BlastRadiusConfig.psm1'
181
- '.claude/lib/blast-radius/BlastRadiusValidation.psm1'
182
- '.claude/lib/blast-radius/BlastRadius.psm1'
183
- '.claude/lib/blast-radius/BlastRadiusNormalization.psm1'
184
- '.claude/lib/blast-radius/BlastRadiusTokenShape.psm1'
185
- # Issue #643 added the eighth file below. It holds the mechanically-mergeable
186
- # path exclusion plus the two overlap helpers relocated out of
187
- # BlastRadius.psm1. CodeCoverage.Path is an explicit per-file allow-list, so
188
- # the new module must be named here to be measured.
189
- '.claude/lib/blast-radius/BlastRadiusConflict.psm1'
190
- # Issue #722 added the ninth file below, the integration-cost scheduling
191
- # layer over the unchanged contention relation. CodeCoverage.Path is an
192
- # explicit per-file allow-list, so the new module is named here to keep
193
- # it in the coverage denominator.
194
- '.claude/lib/blast-radius/BlastRadiusScheduling.psm1'
195
- # Issue #722 also added the tenth file below, the write-intent
196
- # extraction layer the facade and validation module delegate to.
197
- '.claude/lib/blast-radius/BlastRadiusWriteIntent.psm1'
198
- # Issue #643 also added the merge library below: the line grammar, the
199
- # keyed-union merge, and the entry script. The entry script is measured
200
- # like the two modules because its Pester suite dot-sources it behind a
201
- # guarded entry-point body, so every line it attributes was executed by a
202
- # test rather than by a run of the step itself.
203
- '.claude/lib/project-file-merge/ProjectFileMergeGrammar.psm1'
204
- '.claude/lib/project-file-merge/ProjectFileMerge.psm1'
205
- '.claude/lib/project-file-merge/Resolve-MergeableConflict.ps1'
206
- # Issue #440 added the two parallel enforcement hooks (the Layer 1 cohort
207
- # barrier and the worktree removal gate) and extended the invocation-origin
208
- # hook with the parallel-agent family; measured here so no new or changed
209
- # production hook is excluded from coverage.
210
- '.claude/hooks/enforce-parallel-cohort-barrier.ps1'
211
- '.claude/hooks/enforce-parallel-worktree-removal-gate.ps1'
212
- '.claude/hooks/enforce-epic-invocation-origin.ps1'
213
- # Issue #446 added this Layer-1 parallel drift-gate PreToolUse hook; measured here so
214
- # the new production hook is not excluded from coverage.
215
- '.claude/hooks/enforce-parallel-drift-gate.ps1'
216
- # Issue #446 remediation cycle 1 split the seven shape-and-derivation helpers out of
217
- # that hook into this dot-sourced sibling module; measured here so the Coverage
218
- # Exclusion Policy's no-production-file-excluded rule still holds after the split.
219
- '.claude/hooks/enforce-parallel-drift-gate-helpers.ps1'
220
- # Issue #442 added this PreToolUse abandon-gate hook, which guards the destructive
221
- # parallel abandon disposition; measured here so the new production hook is not
222
- # excluded from coverage. The test suite dot-sources the file (guarded body) so
223
- # line attribution is valid.
224
- '.claude/hooks/enforce-parallel-abandon-gate.ps1'
225
- # Issue #491 added the Mermaid validation PreToolUse hook and its dependency-free
226
- # validator library; measured here so the new production files are not excluded from
227
- # coverage. The hook's test suite dot-sources the file (guarded body) and the library
228
- # suites import the modules, so line attribution is valid.
229
- '.claude/hooks/enforce-mermaid-validation.ps1'
230
- '.claude/lib/mermaid/MermaidGrammar.psm1'
231
- '.claude/lib/mermaid/MermaidLineScanner.psm1'
232
- '.claude/lib/mermaid/MermaidMarkdownFences.psm1'
233
- '.claude/lib/mermaid/MermaidValidation.psm1'
234
- # Issue #635 added the sanctioned-removal manifest module read by both worktree
235
- # removal gate hooks. CodeCoverage.Path is an explicit per-file allow-list, so an
236
- # unregistered production file would sit outside the coverage denominator, which
237
- # the Coverage Exclusion Policy forbids. Registered here beside the other
238
- # .claude/lib modules.
239
- '.claude/lib/cleanup-manifest/CleanupWorktreeManifest.psm1'
240
- # Issue #501 fixed the PreToolUse payload transport and shape across the whole
241
- # hook surface. CodeCoverage.Path is an explicit per-file allow-list, so the new
242
- # shared payload module, the six hooks that were changed but never registered,
243
- # and the two dot-sourced helper siblings extracted for headroom are registered
244
- # here. Without them the changed production surface would sit outside the
245
- # coverage denominator, which the Coverage Exclusion Policy forbids.
246
- '.claude/lib/hook-payload/HookPayload.psm1'
247
- '.claude/hooks/enforce-promotion-mcp-only.ps1'
248
- '.claude/hooks/enforce-orchestration-preimplementation-gate.ps1'
249
- # Issue #539 extracted the command-branch pathspec classifier into this
250
- # dot-sourced sibling for headroom; registered so the new production file stays
251
- # in the coverage denominator per the Coverage Exclusion Policy.
252
- '.claude/hooks/enforce-orchestration-preimplementation-gate-helpers.ps1'
253
- # Issue #554 added this pure dot-sourced modes sibling, holding the mode dispatch
254
- # table and the epic and parallel readiness predicates; registered so the new
255
- # production file stays in the coverage denominator per the Coverage Exclusion Policy.
256
- '.claude/hooks/enforce-orchestration-preimplementation-gate-modes.ps1'
257
- # Issue #663 added this dot-sourced sibling for the epic-scope command and path legs.
258
- '.claude/hooks/enforce-orchestration-preimplementation-gate-epic-scope.ps1'
259
- '.claude/hooks/enforce-evidence-locations.ps1'
260
- '.claude/hooks/enforce-feature-folder-order.ps1'
261
- '.claude/hooks/enforce-checkpoint-monotonic.ps1'
262
- '.claude/hooks/enforce-prd-feature-before-planner.ps1'
263
- # Issue #672 split the prd-feature gate's resolution logic into a dot-sourced
264
- # sibling; registered so the new production file stays in the coverage
265
- # denominator per the Coverage Exclusion Policy.
266
- '.claude/hooks/enforce-prd-feature-before-planner-helpers.ps1'
267
- '.claude/hooks/enforce-parallel-cohort-barrier-helpers.ps1'
268
- '.claude/hooks/enforce-pr-author-skill-helpers.ps1'
269
- # Issue #526 added this out-of-band release-verification module (Layer B of the
270
- # missed-npm-publish defence). CodeCoverage.Path is an explicit per-file
271
- # allow-list, so the new production file is registered here; without it the file
272
- # would sit outside the coverage denominator, which the Coverage Exclusion Policy
273
- # forbids. Its Pester suite dot-sources the file (guarded entry-point body), so
274
- # line attribution is valid.
275
- 'scripts/dev-tools/Invoke-ReleaseVerification.ps1'
276
- # Issue #526 split the pure helpers of the verification module into this sibling
277
- # file, because the parent stood one line under the 500-line cap. CodeCoverage.Path
278
- # is an explicit per-file allow-list, so the new production file must be registered
279
- # here to stay inside the coverage denominator; without it the relocated lines would
280
- # leave the denominator entirely, which the Coverage Exclusion Policy forbids. Its
281
- # Pester suite dot-sources the file, and the file declares no entry-point block, so
282
- # line attribution is valid.
283
- 'scripts/dev-tools/Invoke-ReleaseVerificationHelpers.ps1'
284
- # Issue #526 added this release-reconciliation module (Layer C of the
285
- # missed-npm-publish defence). CodeCoverage.Path is an explicit per-file
286
- # allow-list, so the new production file is registered here; without it the file
287
- # would sit outside the coverage denominator, which the Coverage Exclusion Policy
288
- # forbids. Its Pester suite dot-sources the file (guarded entry-point body), so
289
- # line attribution is valid.
290
- 'scripts/dev-tools/Invoke-ReleaseReconciliation.ps1'
291
- # Issue #552 validates start-time routing attestation coverage for this hook.
292
- '.codex/hooks/record-subagent-routing-attestation.ps1'
293
- # Issue #545 adds the shared command parser as two dot-sourced .ps1 siblings, one
294
- # pair per runtime. CodeCoverage.Path is an explicit per-file allow-list, so each
295
- # new production file is registered here; without it the file would sit outside
296
- # the coverage denominator, which the Coverage Exclusion Policy forbids. Both
297
- # files define functions only and are dot-sourced by their Pester suites, so line
298
- # attribution is valid. No extensions/drm-copilot/resources/ path is added,
299
- # because the list holds zero entries under that prefix and every bundle mirror is
300
- # guarded by byte identity instead.
301
- '.claude/hooks/hook-command-scanner.ps1'
302
- '.claude/hooks/hook-command-invocation.ps1'
303
- '.codex/hooks/hook-command-scanner.ps1'
304
- '.codex/hooks/hook-command-invocation.ps1'
305
- # Issue #545 also modifies four Codex canonical hooks that the [P0-T9] baseline
306
- # recorded as absent from this list. They are registered here so the files this
307
- # change edits are all inside the coverage denominator.
308
- '.codex/hooks/enforce-promotion-mcp-only.ps1'
309
- '.codex/hooks/enforce-epic-merge-gate.ps1'
310
- '.codex/hooks/enforce-epic-worktree-removal-gate.ps1'
311
- '.codex/hooks/validate-bash.ps1'
312
- # Issue #669 added the worktree-resolution module (target-worktree locator, path
313
- # normaliser, and four-state call-target derivation). CodeCoverage.Path is an
314
- # explicit per-file allow-list, so an unregistered production file would sit
315
- # outside the coverage denominator, which the Coverage Exclusion Policy forbids.
316
- # Registered here beside the other .claude/lib modules.
317
- '.claude/lib/worktree-resolution/WorktreeResolution.psm1'
318
- '.claude/lib/worktree-resolution/WorktreeTargetResolution.psm1'
319
- # Issue #673 added the identity-resolution module, registered for the same reason.
320
- '.claude/lib/worktree-resolution/WorktreeItemResolution.psm1'
321
- # Issue #663 added the epic-scope resolver and its pure readiness predicates.
322
- '.claude/lib/worktree-resolution/EpicScopeResolution.psm1'
323
- '.claude/lib/worktree-resolution/EpicScopeReadiness.psm1'
324
- # Issue #690 added the run-target resolver; registered so it stays in the coverage denominator.
325
- '.claude/lib/worktree-resolution/WorktreeRunResolution.psm1'
326
- # Issue #762 relocated the CI gate parser into the bundled .claude/lib tree so
327
- # push-down carries it with the orchestrate and epic-orchestrate skills.
328
- # CodeCoverage.Path is an explicit per-file allow-list, so the relocated production
329
- # file is registered here to stay in the coverage denominator.
330
- '.claude/lib/ci-gate/Invoke-CiGateParser.ps1'
331
- # Issue #763 ported radius drift detection to the destination runtime as two pure
332
- # modules and an entry script under .claude/lib/parallel-drift. CodeCoverage.Path is an
333
- # explicit per-file allow-list, so each new production file is registered here.
334
- '.claude/lib/parallel-drift/ParallelDriftHalt.psm1'
335
- '.claude/lib/parallel-drift/ParallelDrift.psm1'
336
- '.claude/lib/parallel-drift/Invoke-ParallelDriftDetection.ps1'
337
- )
23
+ # Issue #527: no Path list. Invoke-PoshQCTest derives the coverage population from the
24
+ # workspace (config/poshqc-coverage.json, else the effective test scan folders); see README.md.
338
25
  # Optional: don't fail the run on coverage percentage
339
26
  CoveragePercentTarget = 0
340
27
  }