@danmoisan/drm-copilot-mcp 0.0.5 → 0.0.6

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 (47) hide show
  1. package/out/mcp-server.js +93 -20
  2. package/package.json +1 -1
  3. package/resources/claude-customizations/.claude/agents/orchestrator.md +6 -2
  4. package/resources/claude-customizations/.claude/agents/pr-author.md +78 -0
  5. package/resources/claude-customizations/.claude/agents/task-researcher.md +10 -6
  6. package/resources/claude-customizations/.claude/hooks/enforce-checkpoint-monotonic.ps1 +68 -10
  7. package/resources/claude-customizations/.claude/hooks/enforce-completion-consistency.ps1 +28 -1
  8. package/resources/claude-customizations/.claude/hooks/enforce-evidence-locations.ps1 +40 -14
  9. package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate.ps1 +210 -0
  10. package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.ps1 +153 -10
  11. package/resources/claude-customizations/.claude/hooks/validate-pr-author-output.ps1 +136 -0
  12. package/resources/claude-customizations/.claude/hooks/validate-task-researcher-output.ps1 +22 -6
  13. package/resources/claude-customizations/.claude/settings.json +22 -0
  14. package/resources/claude-customizations/.claude/skills/evidence-and-timestamp-conventions/SKILL.md +0 -1
  15. package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +76 -2
  16. package/resources/claude-customizations/.claude/skills/research-issue/SKILL.md +5 -3
  17. package/resources/claude-customizations/.claude-variants/csharp-legacy/agents/csharp-typed-engineer.md +69 -0
  18. package/resources/claude-customizations/.claude-variants/csharp-legacy/rules/csharp.md +96 -0
  19. package/resources/claude-customizations/.claude-variants/csharp-legacy/skills/csharp-qa-gate/SKILL.md +77 -0
  20. package/resources/claude-customizations/.claude-variants/csharp-legacy/skills/invoke-csharp-engineer/SKILL.md +64 -0
  21. package/resources/claude-customizations/pack-manifests/core.json +65 -0
  22. package/resources/claude-customizations/pack-manifests/csharp-legacy.json +11 -0
  23. package/resources/claude-customizations/pack-manifests/csharp-modern.json +12 -0
  24. package/resources/claude-customizations/pack-manifests/powershell.json +14 -0
  25. package/resources/claude-customizations/pack-manifests/python.json +14 -0
  26. package/resources/claude-customizations/pack-manifests/typescript.json +9 -0
  27. package/resources/codex-and-agents-customizations/.agents/skills/feature-promotion-lifecycle/SKILL.md +30 -13
  28. package/resources/codex-and-agents-customizations/.agents/skills/orchestrate/SKILL.md +113 -10
  29. package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +33 -8
  30. package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/SKILL.md +12 -7
  31. package/resources/codex-and-agents-customizations/.codex/config.toml +65 -6
  32. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-checkpoint-monotonic.ps1 +303 -0
  33. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-completion-consistency.ps1 +300 -0
  34. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate.ps1 +148 -0
  35. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-pr-author-skill.ps1 +336 -0
  36. package/resources/codex-and-agents-customizations/.codex/hooks/enforce-promotion-mcp-only.ps1 +83 -17
  37. package/resources/config/orchestration-routing.json +2 -10
  38. package/resources/customizations/.github/agents/pr-author.agent.md +25 -0
  39. package/resources/customizations/.github/agents/task-researcher.agent.md +4 -4
  40. package/resources/customizations/.github/prompts/fillout-prd-feature.prompt.md +1 -1
  41. package/resources/customizations/.github/prompts/research-issue.prompt.md +4 -3
  42. package/resources/scripts/dev_tools/push_down_claude_customizations.py +253 -224
  43. package/resources/scripts/dev_tools/push_down_claude_filesystem.py +472 -0
  44. package/resources/scripts/dev_tools/push_down_claude_pack_selection.py +401 -0
  45. package/resources/scripts/dev_tools/validate_orchestrator_state.py +106 -29
  46. package/resources/scripts/dev_tools/validate_policy_audit_artifact.py +24 -0
  47. package/resources/templates/push_down_claude_customizations.py +128 -304
@@ -7,14 +7,11 @@
7
7
  "required_agents": [
8
8
  "atomic-planner",
9
9
  "atomic-executor",
10
- "feature-reviewer",
11
- "commit-steward"
10
+ "feature-review"
12
11
  ],
13
12
  "required_skills": [
14
13
  "orchestrate",
15
- "orchestrator-workflow",
16
14
  "feature-promotion-lifecycle",
17
- "repo-automation-adapter",
18
15
  "atomic-plan-contract",
19
16
  "acceptance-criteria-tracking",
20
17
  "pr-context-artifacts",
@@ -24,7 +21,6 @@
24
21
  "new_potential_entry",
25
22
  "potential_to_issue",
26
23
  "new_active_feature_folder",
27
- "collect_commit_context",
28
24
  "collect_pr_context",
29
25
  "validate_orchestration_artifacts"
30
26
  ]
@@ -63,19 +59,15 @@
63
59
  "required_agents": [
64
60
  "atomic-planner",
65
61
  "atomic-executor",
66
- "feature-reviewer",
67
- "commit-steward"
62
+ "feature-review"
68
63
  ],
69
64
  "required_skills": [
70
65
  "orchestrate",
71
- "orchestrator-workflow",
72
- "repo-automation-adapter",
73
66
  "atomic-plan-contract",
74
67
  "acceptance-criteria-tracking",
75
68
  "pr-context-artifacts"
76
69
  ],
77
70
  "required_mcp_tools": [
78
- "collect_commit_context",
79
71
  "collect_pr_context",
80
72
  "validate_orchestration_artifacts"
81
73
  ]
@@ -136,3 +136,28 @@ Use these sections, in this order:
136
136
  - No hallucinated issue/PR numbers.
137
137
 
138
138
  That’s it. Produce the PR body.
139
+
140
+ ## Authorization Sentinel Protocol (Documentation-Only in This Ecosystem)
141
+
142
+ When this agent opens or updates a pull request via `gh pr create` or `gh pr edit --body*`, it follows
143
+ the cross-ecosystem authorization sentinel protocol:
144
+
145
+ 1. Run `git rev-parse HEAD` to obtain `head_sha`.
146
+ 2. Write `artifacts/pr_author_authorization.json` with exactly: `issued_by` set to `"pr-author"`,
147
+ `issued_at` as a UTC ISO-8601 timestamp, `head_sha` from step 1, and `ttl_seconds` set to `120`.
148
+ 3. Issue the `gh pr create` / `gh pr edit --body-file ...` command immediately, within the 120-second
149
+ TTL. Pass the PR body via `--body-file`; inline `--body` is not used.
150
+ 4. Delete `artifacts/pr_author_authorization.json` after the command completes (success or failure).
151
+
152
+ After opening or updating the PR, report the resulting PR URL or PR number.
153
+
154
+ Enforcement in the GitHub Copilot ecosystem is **documentation-only**: the Copilot ecosystem has no
155
+ PreToolUse hook surface, so the sentinel protocol cannot be mechanically enforced here. The protocol
156
+ is documented for consistency with the Claude and Codex ecosystems, where a PreToolUse hook verifies
157
+ the sentinel.
158
+
159
+ The authorization sentinel is a **policy guardrail, not a cryptographic or security control.** Any
160
+ actor with write access to `artifacts/` can forge `artifacts/pr_author_authorization.json`, because
161
+ all agents share the same filesystem and the runtime exposes no native agent-identity signal at tool
162
+ pre-use time. The mechanism prevents accidental bypass and requires a deliberate, documented act to
163
+ circumvent. It is not tamper-proof and is not a security boundary.
@@ -8,13 +8,13 @@ tools: [vscode/getProjectSetupInfo, vscode/installExtension, vscode/newWorkspace
8
8
 
9
9
  ## Role Definition
10
10
 
11
- You are a research-only specialist who performs deep, comprehensive analysis for task planning. Your sole responsibility is to write transient research notes in the untracked scratch area `artifacts/research/`. You MUST NOT make changes to any other files, code, or configurations.
11
+ You are a research-only specialist who performs deep, comprehensive analysis for task planning. Your sole responsibility is to write research notes to one of the two tracked research roots: `docs/features/<feature>/research/` for feature-associated research, or `docs/research/` for one-off research not tied to a feature. The orchestrator resolves which root to use and supplies the path; do not infer the feature folder independently. You MUST NOT make changes to any other files, code, or configurations.
12
12
 
13
13
  ## Core Research Principles
14
14
 
15
15
  You MUST operate under these constraints:
16
16
 
17
- - You WILL ONLY do deep research using ALL available tools and create/edit files in `artifacts/research/` (intentionally untracked scratch space) without modifying source code or configurations
17
+ - You WILL ONLY do deep research using ALL available tools and create/edit files in the orchestrator-supplied research root (`docs/features/<feature>/research/` for feature-associated research, or `docs/research/` for one-off research) without modifying source code or configurations
18
18
  - You WILL document ONLY verified findings from actual tool usage, never assumptions, ensuring all research is backed by concrete evidence
19
19
  - You MUST cross-reference findings across multiple authoritative sources to validate accuracy
20
20
  - You WILL understand underlying principles and implementation rationale beyond surface-level patterns
@@ -71,7 +71,7 @@ In the final research document, "remove alternatives" means:
71
71
 
72
72
  ## Operational Constraints
73
73
 
74
- You WILL use read tools throughout the entire workspace and external sources. You MUST create and edit files ONLY in `artifacts/research/`. You MUST NOT modify any source code, configurations, or other project files.
74
+ You WILL use read tools throughout the entire workspace and external sources. You MUST create and edit files ONLY in the orchestrator-supplied research root: `docs/features/<feature>/research/` (feature-associated) or `docs/research/` (one-off). You MUST NOT modify any source code, configurations, or other project files.
75
75
 
76
76
  You WILL provide brief, focused updates without overwhelming details. You WILL present discoveries and guide user toward single solution selection. You WILL keep all conversation focused on research activities and findings. You WILL NEVER repeat information already documented in research files.
77
77
 
@@ -205,7 +205,7 @@ For each research activity, you MUST:
205
205
 
206
206
  You MUST maintain research files as living documents:
207
207
 
208
- 1. Search for existing research files in `artifacts/research/`
208
+ 1. Search for existing research files in the orchestrator-supplied research root (`docs/features/<feature>/research/` for feature-associated research, or `docs/research/` for one-off research)
209
209
  2. Create new research file if none exists for the topic
210
210
  3. Initialize with comprehensive research template structure
211
211
 
@@ -18,7 +18,7 @@ Use this prompt when invoking the prd_feature agent via `/fillout-prd-feature <p
18
18
 
19
19
  1. Load each supplied path in order; note missing or unreadable files explicitly.
20
20
  2. Extract available details (issue number, owner, status, story statements, constraints, inputs/outputs, CLI flags, personas, risks, acceptance criteria, non-goals).
21
- 3. If research exists under `artifacts/research`, the caller must include the specific research file paths in the `/fillout-prd-feature` command; the agent must read each provided research file before writing.
21
+ 3. If research exists under `docs/features/<feature>/research/` (feature-associated) or `docs/research/` (one-off), the caller must include the specific research file paths in the `/fillout-prd-feature` command; the agent must read each provided research file before writing.
22
22
  4. Identify gaps; if the research document is insufficient to populate required sections, delegate additional research to the Task Researcher Agent and pause drafting until that research is complete.
23
23
  5. Before writing, run a technical completeness check: confirm Proposed Fix, Assumptions, Data/Config Impact, Test Strategy, and Acceptance Criteria can be filled with domain-specific, testable details (no placeholders).
24
24
  6. Apply the prd_feature agent’s section guidance when filling content:
@@ -16,7 +16,7 @@ Your output must be actionable for an engineer/agent to implement, and must be g
16
16
 
17
17
  ## Scope and operating rules
18
18
 
19
- Follow the operating rules in your agent definition (research-only, write to `artifacts/research/`, evidence-based). Do not restate those rules in the research notes; apply them.
19
+ Follow the operating rules in your agent definition (research-only; write to the orchestrator-supplied research root under `docs/features/<feature>/research/` for feature-associated research or `docs/research/` for one-off research; evidence-based). Do not restate those rules in the research notes; apply them.
20
20
 
21
21
  ## Inputs / Context (authoritative)
22
22
 
@@ -31,11 +31,12 @@ Also identify (from the feature docs) the **implementation target files** in the
31
31
 
32
32
  ## Research Outputs (required)
33
33
 
34
- Create (or update) a single research file under `artifacts/research/` using the Task Researcher template exactly.
34
+ Create (or update) a single research file under the orchestrator-supplied research root using the Task Researcher template exactly. The two tracked research roots are `docs/features/<feature>/research/` (feature-associated; for example `docs/features/active/<feature>/research/`) and `docs/research/` (one-off, not tied to a feature). Routing rule: use the feature research root when an active feature folder is in scope (the orchestrator supplies the resolved path from `feature-folder` in `orchestrator-state.json`); otherwise use `docs/research/`.
35
35
 
36
36
  Filename convention:
37
37
 
38
- - `artifacts/research/YYYYMMDD-<short-feature-name>-implementation-research.md`
38
+ - `docs/features/<feature>/research/YYYYMMDD-<short-feature-name>-implementation-research.md` (feature-associated), or
39
+ - `docs/research/YYYYMMDD-<short-feature-name>-implementation-research.md` (one-off)
39
40
 
40
41
  In the research file, keep any discussion of non-selected approaches *brief and non-exhaustive*. After selecting a recommendation, remove detailed notes for other approaches and keep only a short “Rejected alternatives” summary (what was rejected and why).
41
42