@danmoisan/drm-copilot-mcp 1.0.26 → 1.1.0
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.
- package/out/mcp-server.js +542 -42
- package/package.json +1 -1
- package/resources/claude-customizations/.claude/hooks/check-powershell-test-purity.ps1 +17 -21
- package/resources/claude-customizations/.claude/hooks/check-python-test-purity.ps1 +17 -19
- package/resources/claude-customizations/.claude/hooks/enforce-checkpoint-monotonic.ps1 +17 -19
- package/resources/claude-customizations/.claude/hooks/enforce-completion-consistency.ps1 +18 -19
- package/resources/claude-customizations/.claude/hooks/enforce-discovery-artifact-gate.ps1 +18 -19
- package/resources/claude-customizations/.claude/hooks/enforce-epic-invocation-origin.ps1 +54 -32
- package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate.ps1 +172 -24
- package/resources/claude-customizations/.claude/hooks/enforce-epic-wave-barrier.ps1 +51 -22
- package/resources/claude-customizations/.claude/hooks/enforce-epic-worktree-removal-gate.ps1 +56 -19
- package/resources/claude-customizations/.claude/hooks/enforce-evidence-locations.ps1 +71 -28
- package/resources/claude-customizations/.claude/hooks/enforce-feature-folder-order.ps1 +68 -23
- package/resources/claude-customizations/.claude/hooks/enforce-mermaid-validation.ps1 +402 -0
- package/resources/claude-customizations/.claude/hooks/enforce-model-routing-receipt.ps1 +20 -22
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate.ps1 +59 -14
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-abandon-gate.ps1 +17 -20
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-cohort-barrier-helpers.ps1 +278 -0
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-cohort-barrier.ps1 +55 -271
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-drift-gate.ps1 +57 -22
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-worktree-removal-gate.ps1 +56 -19
- package/resources/claude-customizations/.claude/hooks/enforce-powershell-batch-budget.ps1 +70 -27
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill-helpers.ps1 +228 -0
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.ps1 +68 -225
- package/resources/claude-customizations/.claude/hooks/enforce-prd-feature-before-planner.ps1 +161 -34
- package/resources/claude-customizations/.claude/hooks/enforce-promotion-mcp-only.ps1 +59 -22
- package/resources/claude-customizations/.claude/hooks/enforce-python-batch-budget.ps1 +70 -27
- package/resources/claude-customizations/.claude/hooks/validate-bash.ps1 +32 -18
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadius.psm1 +105 -2
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusConfig.psm1 +32 -52
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusExtraction.psm1 +107 -99
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusNormalization.psm1 +295 -0
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusValidation.psm1 +9 -3
- package/resources/claude-customizations/.claude/lib/hook-payload/HookPayload.psm1 +494 -0
- package/resources/claude-customizations/.claude/lib/mermaid/MermaidGrammar.psm1 +491 -0
- package/resources/claude-customizations/.claude/lib/mermaid/MermaidLineScanner.psm1 +488 -0
- package/resources/claude-customizations/.claude/lib/mermaid/MermaidMarkdownFences.psm1 +298 -0
- package/resources/claude-customizations/.claude/lib/mermaid/MermaidValidation.psm1 +496 -0
- package/resources/claude-customizations/.claude/rules/mermaid.md +142 -0
- package/resources/claude-customizations/.claude/rules/parallel-orchestration.md +124 -1
- package/resources/claude-customizations/.claude/rules/plan-acceptance-gates.md +116 -0
- package/resources/claude-customizations/.claude/settings.json +5 -0
- package/resources/claude-customizations/.claude/skills/atomic-plan-contract/SKILL.md +15 -0
- package/resources/claude-customizations/.claude/skills/evidence-and-timestamp-conventions/SKILL.md +13 -0
- package/resources/claude-customizations/.claude/skills/feature-promotion-lifecycle/SKILL.md +6 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/SKILL.md +184 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/references/c4.md +50 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/references/class.md +63 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/references/er.md +56 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/references/flowchart.md +68 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/references/gantt.md +51 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/references/other-types.md +82 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/references/pie.md +32 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/references/sequence.md +63 -0
- package/resources/claude-customizations/.claude/skills/mermaid-diagram/references/state.md +49 -0
- package/resources/claude-customizations/.claude/skills/parallel-orchestrate/SKILL.md +8 -7
- package/resources/claude-customizations/.claude/skills/parallel-plan/SKILL.md +24 -4
- package/resources/claude-customizations/config/blast-radius.json +16 -2
- package/resources/claude-customizations/pack-manifests/core.json +22 -1
- package/resources/codex-and-agents-customizations/.agents/skills/evidence-and-timestamp-conventions/SKILL.md +13 -0
- package/resources/codex-and-agents-customizations/.codex/config.toml +1 -1
- package/resources/customizations/.github/skills/evidence-and-timestamp-conventions/SKILL.md +13 -0
- package/resources/powershell/PoshQC/settings/pester.runsettings.psd1 +31 -1
|
@@ -83,6 +83,19 @@ When evidence artifacts are used for automated checking or plan reconciliation,
|
|
|
83
83
|
- `Command: <exact command>`
|
|
84
84
|
- `EXIT_CODE: <int>`
|
|
85
85
|
|
|
86
|
+
One optional field may also be declared:
|
|
87
|
+
- `ExpectedExitCode: <int>` — the exit code the gate is expected to produce.
|
|
88
|
+
|
|
89
|
+
Rules for the optional expectation field:
|
|
90
|
+
- The spelling is exact and case-sensitive: `ExpectedExitCode`. `expectedexitcode` and `Expected Exit Code` do not match the accept-list and are discarded as unrecognized rows.
|
|
91
|
+
- The value is a single integer. A leading sign is accepted and no range check is applied; the value is used for an equality comparison only.
|
|
92
|
+
- When the field is absent the expectation defaults to `0`, so every artifact that omits it keeps its existing result. Writing `ExpectedExitCode: 0` explicitly renders identically to omitting the field.
|
|
93
|
+
- A present but non-integer value (including an empty value) makes the WHOLE artifact `unparseable`. An unparseable artifact is dropped by the collector filter, so a typo in the expectation removes the row from the PR body rather than degrading it to `fail`.
|
|
94
|
+
- When the field is duplicated, the FIRST occurrence wins in both the Python and the TypeScript parser; later occurrences are ignored.
|
|
95
|
+
- The field is per-FILE, not per-gate: one artifact carries exactly one expectation, so an artifact recording several gates cannot express a different expectation for each. Record a gate that needs a non-zero expectation in its own artifact file.
|
|
96
|
+
|
|
97
|
+
A gate whose observed `EXIT_CODE` equals its declared expectation is normalized to `pass`. The observed exit code is still displayed, and the rendered row additionally carries ` - Expected EXIT_CODE: <int>` between the `EXIT_CODE` and `Normalized result` lines when the expectation is non-zero.
|
|
98
|
+
|
|
86
99
|
### Baseline Evidence Output Summary (Required)
|
|
87
100
|
|
|
88
101
|
For baseline evidence artifacts stored under `evidence/baseline/`, include an output summary in addition to the schema fields above:
|
|
@@ -137,14 +137,20 @@
|
|
|
137
137
|
'.codex/hooks/enforce-epic-planning-only.ps1'
|
|
138
138
|
# Issue #447 added the .claude-resident PowerShell blast-radius library, the
|
|
139
139
|
# two-language mirror of scripts/dev_tools/compute_blast_radius.py and its
|
|
140
|
-
# helper modules. The set is split across
|
|
140
|
+
# helper modules. The set is split across six files only to satisfy the
|
|
141
141
|
# 500-line limit; measured here so no new production module is excluded from
|
|
142
142
|
# coverage.
|
|
143
|
+
# Issue #489 added BlastRadiusNormalization.psm1, which holds the
|
|
144
|
+
# read-by-mandate exclusion plus Get-ContractIdentifier and
|
|
145
|
+
# Resolve-BlastRadiusModule relocated out of the two modules that had run
|
|
146
|
+
# out of headroom. The relocation moves already-measured lines, so the new
|
|
147
|
+
# file is registered here to keep them in the coverage denominator.
|
|
143
148
|
'.claude/lib/blast-radius/BlastRadiusExtraction.psm1'
|
|
144
149
|
'.claude/lib/blast-radius/BlastRadiusGlob.psm1'
|
|
145
150
|
'.claude/lib/blast-radius/BlastRadiusConfig.psm1'
|
|
146
151
|
'.claude/lib/blast-radius/BlastRadiusValidation.psm1'
|
|
147
152
|
'.claude/lib/blast-radius/BlastRadius.psm1'
|
|
153
|
+
'.claude/lib/blast-radius/BlastRadiusNormalization.psm1'
|
|
148
154
|
# Issue #440 added the two parallel enforcement hooks (the Layer 1 cohort
|
|
149
155
|
# barrier and the worktree removal gate) and extended the invocation-origin
|
|
150
156
|
# hook with the parallel-agent family; measured here so no new or changed
|
|
@@ -164,6 +170,30 @@
|
|
|
164
170
|
# excluded from coverage. The test suite dot-sources the file (guarded body) so
|
|
165
171
|
# line attribution is valid.
|
|
166
172
|
'.claude/hooks/enforce-parallel-abandon-gate.ps1'
|
|
173
|
+
# Issue #491 added the Mermaid validation PreToolUse hook and its dependency-free
|
|
174
|
+
# validator library; measured here so the new production files are not excluded from
|
|
175
|
+
# coverage. The hook's test suite dot-sources the file (guarded body) and the library
|
|
176
|
+
# suites import the modules, so line attribution is valid.
|
|
177
|
+
'.claude/hooks/enforce-mermaid-validation.ps1'
|
|
178
|
+
'.claude/lib/mermaid/MermaidGrammar.psm1'
|
|
179
|
+
'.claude/lib/mermaid/MermaidLineScanner.psm1'
|
|
180
|
+
'.claude/lib/mermaid/MermaidMarkdownFences.psm1'
|
|
181
|
+
'.claude/lib/mermaid/MermaidValidation.psm1'
|
|
182
|
+
# Issue #501 fixed the PreToolUse payload transport and shape across the whole
|
|
183
|
+
# hook surface. CodeCoverage.Path is an explicit per-file allow-list, so the new
|
|
184
|
+
# shared payload module, the six hooks that were changed but never registered,
|
|
185
|
+
# and the two dot-sourced helper siblings extracted for headroom are registered
|
|
186
|
+
# here. Without them the changed production surface would sit outside the
|
|
187
|
+
# coverage denominator, which the Coverage Exclusion Policy forbids.
|
|
188
|
+
'.claude/lib/hook-payload/HookPayload.psm1'
|
|
189
|
+
'.claude/hooks/enforce-promotion-mcp-only.ps1'
|
|
190
|
+
'.claude/hooks/enforce-orchestration-preimplementation-gate.ps1'
|
|
191
|
+
'.claude/hooks/enforce-evidence-locations.ps1'
|
|
192
|
+
'.claude/hooks/enforce-feature-folder-order.ps1'
|
|
193
|
+
'.claude/hooks/enforce-checkpoint-monotonic.ps1'
|
|
194
|
+
'.claude/hooks/enforce-prd-feature-before-planner.ps1'
|
|
195
|
+
'.claude/hooks/enforce-parallel-cohort-barrier-helpers.ps1'
|
|
196
|
+
'.claude/hooks/enforce-pr-author-skill-helpers.ps1'
|
|
167
197
|
)
|
|
168
198
|
# Optional: don't fail the run on coverage percentage
|
|
169
199
|
CoveragePercentTarget = 0
|