@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.
- package/out/mcp-server.js +93 -20
- package/package.json +1 -1
- package/resources/claude-customizations/.claude/agents/orchestrator.md +6 -2
- package/resources/claude-customizations/.claude/agents/pr-author.md +78 -0
- package/resources/claude-customizations/.claude/agents/task-researcher.md +10 -6
- package/resources/claude-customizations/.claude/hooks/enforce-checkpoint-monotonic.ps1 +68 -10
- package/resources/claude-customizations/.claude/hooks/enforce-completion-consistency.ps1 +28 -1
- package/resources/claude-customizations/.claude/hooks/enforce-evidence-locations.ps1 +40 -14
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate.ps1 +210 -0
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.ps1 +153 -10
- package/resources/claude-customizations/.claude/hooks/validate-pr-author-output.ps1 +136 -0
- package/resources/claude-customizations/.claude/hooks/validate-task-researcher-output.ps1 +22 -6
- package/resources/claude-customizations/.claude/settings.json +22 -0
- package/resources/claude-customizations/.claude/skills/evidence-and-timestamp-conventions/SKILL.md +0 -1
- package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +76 -2
- package/resources/claude-customizations/.claude/skills/research-issue/SKILL.md +5 -3
- package/resources/claude-customizations/.claude-variants/csharp-legacy/agents/csharp-typed-engineer.md +69 -0
- package/resources/claude-customizations/.claude-variants/csharp-legacy/rules/csharp.md +96 -0
- package/resources/claude-customizations/.claude-variants/csharp-legacy/skills/csharp-qa-gate/SKILL.md +77 -0
- package/resources/claude-customizations/.claude-variants/csharp-legacy/skills/invoke-csharp-engineer/SKILL.md +64 -0
- package/resources/claude-customizations/pack-manifests/core.json +65 -0
- package/resources/claude-customizations/pack-manifests/csharp-legacy.json +11 -0
- package/resources/claude-customizations/pack-manifests/csharp-modern.json +12 -0
- package/resources/claude-customizations/pack-manifests/powershell.json +14 -0
- package/resources/claude-customizations/pack-manifests/python.json +14 -0
- package/resources/claude-customizations/pack-manifests/typescript.json +9 -0
- package/resources/codex-and-agents-customizations/.agents/skills/feature-promotion-lifecycle/SKILL.md +30 -13
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrate/SKILL.md +113 -10
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +33 -8
- package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/SKILL.md +12 -7
- package/resources/codex-and-agents-customizations/.codex/config.toml +65 -6
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-checkpoint-monotonic.ps1 +303 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-completion-consistency.ps1 +300 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate.ps1 +148 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-pr-author-skill.ps1 +336 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-promotion-mcp-only.ps1 +83 -17
- package/resources/config/orchestration-routing.json +2 -10
- package/resources/customizations/.github/agents/pr-author.agent.md +25 -0
- package/resources/customizations/.github/agents/task-researcher.agent.md +4 -4
- package/resources/customizations/.github/prompts/fillout-prd-feature.prompt.md +1 -1
- package/resources/customizations/.github/prompts/research-issue.prompt.md +4 -3
- package/resources/scripts/dev_tools/push_down_claude_customizations.py +253 -224
- package/resources/scripts/dev_tools/push_down_claude_filesystem.py +472 -0
- package/resources/scripts/dev_tools/push_down_claude_pack_selection.py +401 -0
- package/resources/scripts/dev_tools/validate_orchestrator_state.py +106 -29
- package/resources/scripts/dev_tools/validate_policy_audit_artifact.py +24 -0
- 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-
|
|
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-
|
|
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
|
|
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 `
|
|
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 `
|
|
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 `
|
|
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 `
|
|
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
|
|
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
|
|
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
|
-
- `
|
|
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
|
|