@danmoisan/drm-copilot-mcp 1.1.5 → 1.1.7

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 (27) hide show
  1. package/out/mcp-server.js +49 -14
  2. package/package.json +1 -1
  3. package/resources/claude-customizations/.claude/agents/atomic-planner.md +2 -0
  4. package/resources/claude-customizations/.claude/agents/prd-feature.md +5 -0
  5. package/resources/claude-customizations/.claude/agents/task-researcher.md +3 -0
  6. package/resources/claude-customizations/.claude/hooks/enforce-epic-worktree-removal-gate.ps1 +163 -18
  7. package/resources/claude-customizations/.claude/hooks/validate-planner-output.ps1 +122 -0
  8. package/resources/claude-customizations/.claude/hooks/validate-prd-feature-output.ps1 +91 -0
  9. package/resources/claude-customizations/.claude/hooks/validate-task-researcher-output.ps1 +69 -1
  10. package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadius.psm1 +11 -0
  11. package/resources/claude-customizations/.claude/lib/requirements/GeneratedDocumentCounters.psm1 +32 -0
  12. package/resources/claude-customizations/.claude/rules/parallel-orchestration.md +1 -0
  13. package/resources/claude-customizations/.claude/settings.json +9 -0
  14. package/resources/claude-customizations/.claude/skills/acceptance-criteria-tracking/SKILL.md +2 -0
  15. package/resources/claude-customizations/.claude/skills/atomic-plan-contract/SKILL.md +32 -0
  16. package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/SKILL.md +136 -4
  17. package/resources/claude-customizations/.claude/skills/fill-feature-docs/SKILL.md +3 -0
  18. package/resources/claude-customizations/.claude/skills/parallel-add/SKILL.md +5 -1
  19. package/resources/claude-customizations/.claude/skills/parallel-orchestrate/SKILL.md +18 -9
  20. package/resources/claude-customizations/.claude/skills/parallel-plan/SKILL.md +10 -1
  21. package/resources/claude-customizations/.claude/skills/pr-context-artifacts/SKILL.md +22 -0
  22. package/resources/claude-customizations/.claude/skills/remediation-handoff-atomic-planner/SKILL.md +12 -0
  23. package/resources/claude-customizations/.claude/skills/research-issue/SKILL.md +3 -0
  24. package/resources/claude-customizations/pack-manifests/core.json +2 -0
  25. package/resources/codex-and-agents-customizations/.agents/skills/pr-context-artifacts/SKILL.md +22 -0
  26. package/resources/codex-and-agents-customizations/.codex/config.toml +1 -1
  27. package/resources/customizations/.github/skills/pr-context-artifacts/SKILL.md +22 -0
@@ -27,3 +27,25 @@ If the artifacts are missing or stale relative to the current branch state, re-g
27
27
  - When `PRBaseBranch` is missing or ambiguous, resolve it first with `pr-base-branch-merge-base` before running the collector.
28
28
  - Do not infer the refresh base from the repository default branch unless merge-base resolution fails for all candidates.
29
29
  - Treat an already-fresh artifact pair as authoritative; do not refresh solely because no explicit `PRBaseBranch` input was provided.
30
+
31
+ ### Freshness Cross-Check
32
+
33
+ Both artifacts open with a `Context generated` section carrying the generation timestamp and a
34
+ `Head SHA:` line. Decide freshness from those two values in two steps, and from nothing else.
35
+
36
+ 1. **Pair identity.** The generated-context timestamp must be byte-identical in the summary and in
37
+ the appendix. A mismatch proves the two files came from different invocations — a summary
38
+ refreshed while a stale appendix persists, or the reverse — so the pair does not describe one
39
+ run and must be regenerated.
40
+ 2. **Head binding.** The head SHA recorded in both files must equal the current head of the branch
41
+ under review. A mismatch proves the pair predates the current head, so it describes a different
42
+ diff than the one being reviewed and must be regenerated.
43
+
44
+ File existence and file modification time are not freshness signals. A file left at the expected
45
+ path by a previous invocation satisfies an existence check, and a stale file that was copied or
46
+ touched satisfies a modification-time check. Both operands of the cross-check above are read from
47
+ the artifacts themselves and from git, so the check is deterministic and does not depend on a wall
48
+ clock.
49
+
50
+ When the head SHA renders the `(unknown)` token, the collected context carried no head SHA. Head
51
+ binding cannot be established in that case, so treat the pair as unverified and regenerate it.
@@ -2,7 +2,7 @@ default_permissions = ":danger-full-access"
2
2
 
3
3
  [mcp_servers.drm-copilot]
4
4
  command = "npx"
5
- args = ["-y", "@danmoisan/drm-copilot-mcp@1.1.5"]
5
+ args = ["-y", "@danmoisan/drm-copilot-mcp@1.1.7"]
6
6
  required = true
7
7
  enabled_tools = [
8
8
  "collect_commit_context",
@@ -27,3 +27,25 @@ If the artifacts are missing or stale relative to the current branch state, re-g
27
27
  - When `PRBaseBranch` is missing or ambiguous, resolve it first with `pr-base-branch-merge-base` before running the collector.
28
28
  - Do not infer the refresh base from the repository default branch unless merge-base resolution fails for all candidates.
29
29
  - Treat an already-fresh artifact pair as authoritative; do not refresh solely because no explicit `PRBaseBranch` input was provided.
30
+
31
+ ### Freshness Cross-Check
32
+
33
+ Both artifacts open with a `Context generated` section carrying the generation timestamp and a
34
+ `Head SHA:` line. Decide freshness from those two values in two steps, and from nothing else.
35
+
36
+ 1. **Pair identity.** The generated-context timestamp must be byte-identical in the summary and in
37
+ the appendix. A mismatch proves the two files came from different invocations — a summary
38
+ refreshed while a stale appendix persists, or the reverse — so the pair does not describe one
39
+ run and must be regenerated.
40
+ 2. **Head binding.** The head SHA recorded in both files must equal the current head of the branch
41
+ under review. A mismatch proves the pair predates the current head, so it describes a different
42
+ diff than the one being reviewed and must be regenerated.
43
+
44
+ File existence and file modification time are not freshness signals. A file left at the expected
45
+ path by a previous invocation satisfies an existence check, and a stale file that was copied or
46
+ touched satisfies a modification-time check. Both operands of the cross-check above are read from
47
+ the artifacts themselves and from git, so the check is deterministic and does not depend on a wall
48
+ clock.
49
+
50
+ When the head SHA renders the `(unknown)` token, the collected context carried no head SHA. Head
51
+ binding cannot be established in that case, so treat the pair as unverified and regenerate it.