@danmoisan/drm-copilot-mcp 1.1.26 → 1.1.27
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 +170 -52
- package/package.json +1 -1
- package/resources/claude-customizations/.claude/agents/atomic-executor.md +3 -3
- package/resources/claude-customizations/.claude/agents/atomic-planner.md +2 -2
- package/resources/claude-customizations/.claude/agents/csharp-typed-engineer.md +7 -7
- package/resources/claude-customizations/.claude/agents/feature-review.md +6 -3
- package/resources/claude-customizations/.claude/agents/orchestrator.md +11 -7
- package/resources/claude-customizations/.claude/agents/powershell-typed-engineer.md +7 -7
- package/resources/claude-customizations/.claude/agents/python-typed-engineer.md +6 -6
- package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate-review.ps1 +699 -0
- package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate.ps1 +16 -1
- package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage-rules.ps1 +50 -16
- package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorState.psm1 +6 -1
- package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateCompletion.psm1 +4 -2
- package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateCompletionChecks.psm1 +51 -2
- package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateReceipts.psm1 +5 -2
- package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateRemediationAccounting.psm1 +116 -4
- package/resources/claude-customizations/.claude/rules/csharp.md +8 -8
- package/resources/claude-customizations/.claude/rules/orchestrator-state.md +28 -2
- package/resources/claude-customizations/.claude/rules/powershell.md +2 -2
- package/resources/claude-customizations/.claude/skills/atomic-plan-contract/SKILL.md +8 -12
- package/resources/claude-customizations/.claude/skills/csharp-qa-gate/SKILL.md +14 -15
- package/resources/claude-customizations/.claude/skills/epic-progress-report/SKILL.md +338 -0
- package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.Logic.ps1 +248 -0
- package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.Metrics.ps1 +232 -0
- package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.Render.ps1 +196 -0
- package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.State.ps1 +286 -0
- package/resources/claude-customizations/.claude/skills/epic-progress-report/scripts/Get-EpicProgressReport.ps1 +475 -0
- package/resources/claude-customizations/.claude/skills/execution-environment/SKILL.md +18 -13
- package/resources/claude-customizations/.claude/skills/feature-review-workflow/SKILL.md +21 -9
- package/resources/claude-customizations/.claude/skills/invoke-csharp-engineer/SKILL.md +5 -5
- package/resources/claude-customizations/.claude/skills/invoke-powershell-engineer/SKILL.md +4 -4
- package/resources/claude-customizations/.claude/skills/invoke-python-engineer/SKILL.md +4 -4
- package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +24 -2
- package/resources/claude-customizations/.claude/skills/parallel-orchestrate/SKILL.md +8 -0
- package/resources/claude-customizations/.claude/skills/powershell-qa-gate/SKILL.md +16 -17
- package/resources/claude-customizations/.claude/skills/python-qa-gate/SKILL.md +15 -16
- package/resources/claude-customizations/.claude/skills/remediation-handoff-atomic-planner/SKILL.md +1 -1
- package/resources/claude-customizations/.claude-variants/csharp-legacy/agents/csharp-typed-engineer.md +6 -6
- package/resources/claude-customizations/.claude-variants/csharp-legacy/skills/csharp-qa-gate/SKILL.md +13 -14
- package/resources/claude-customizations/.claude-variants/csharp-legacy/skills/invoke-csharp-engineer/SKILL.md +4 -4
- package/resources/claude-customizations/pack-manifests/core.json +7 -0
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-plan-contract/SKILL.md +8 -12
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-planner/SKILL.md +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/csharp-qa-gate/SKILL.md +13 -14
- package/resources/codex-and-agents-customizations/.agents/skills/execution-environment/SKILL.md +18 -13
- package/resources/codex-and-agents-customizations/.agents/skills/feature-review/SKILL.md +5 -1
- package/resources/codex-and-agents-customizations/.agents/skills/feature-review-workflow/SKILL.md +18 -5
- package/resources/codex-and-agents-customizations/.agents/skills/invoke-csharp-engineer/SKILL.md +4 -4
- package/resources/codex-and-agents-customizations/.agents/skills/invoke-powershell-engineer/SKILL.md +4 -4
- package/resources/codex-and-agents-customizations/.agents/skills/invoke-python-engineer/SKILL.md +4 -4
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrate/SKILL.md +24 -2
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-state/SKILL.md +16 -1
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +3 -3
- package/resources/codex-and-agents-customizations/.agents/skills/powershell/SKILL.md +2 -2
- package/resources/codex-and-agents-customizations/.agents/skills/powershell-qa-gate/SKILL.md +15 -16
- package/resources/codex-and-agents-customizations/.agents/skills/python-qa-gate/SKILL.md +14 -15
- package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/SKILL.md +2 -0
- package/resources/codex-and-agents-customizations/.agents-variants/csharp-legacy/skills/csharp-qa-gate/SKILL.md +13 -14
- package/resources/codex-and-agents-customizations/.agents-variants/csharp-legacy/skills/invoke-csharp-engineer/SKILL.md +4 -4
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c1.toml +3 -3
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c2.toml +3 -3
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3-elevated.toml +3 -3
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3.toml +3 -3
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c4.toml +3 -3
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor.toml +3 -3
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c1.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c2.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c3-elevated.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c3.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c4.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-atomic-executor.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-atomic-planning.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-orchestrator.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c1.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c2.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c3-elevated.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c3.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c4.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/feature-review.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-executor.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-planning.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-di-unit-test-engineer.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-orchestrator.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c1.toml +7 -7
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c2.toml +7 -7
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c3-elevated.toml +7 -7
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c3.toml +7 -7
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c4.toml +7 -7
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer.toml +7 -7
- package/resources/codex-and-agents-customizations/.codex/agents/pytest-unit-test-coding.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-atomic-executor.toml +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/python-atomic-planning.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-execution-only-typed.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-orchestrator.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c1.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c2.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c3-elevated.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c3.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c4.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/config.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-merge-gate-review.ps1 +699 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-merge-gate.ps1 +29 -2
- package/resources/codex-and-agents-customizations/.codex/hooks/validate-feature-review-coverage.ps1 +51 -4
- package/resources/codex-and-agents-customizations/.codex-variants/csharp-legacy/agents/csharp-typed-engineer.toml +6 -6
- package/resources/codex-and-agents-customizations/pack-manifests/core.json +1 -0
- package/resources/customizations/.github/agents/5.1-Beast-adjusted.agent.md +1 -1
- package/resources/customizations/.github/agents/Powershell DI Unit Test Engineer.agent.md +20 -26
- package/resources/customizations/.github/agents/atomic_executor.agent.md +4 -4
- package/resources/customizations/.github/agents/atomic_planning.agent.md +4 -4
- package/resources/customizations/.github/agents/commentary-remediation.agent.md +1 -1
- package/resources/customizations/.github/agents/commit-steward.agent.md +1 -1
- package/resources/customizations/.github/agents/csharp-atomic-executor.agent.md +14 -14
- package/resources/customizations/.github/agents/csharp-atomic-planning.agent.md +2 -2
- package/resources/customizations/.github/agents/csharp-orchestrator.agent.md +4 -4
- package/resources/customizations/.github/agents/csharp-typed-engineer.agent.md +19 -22
- package/resources/customizations/.github/agents/epic-review.agent.md +1 -1
- package/resources/customizations/.github/agents/gpt-5-beast-mode.agent.md +3 -3
- package/resources/customizations/.github/agents/orchestrator.agent.md +8 -8
- package/resources/customizations/.github/agents/powershell-atomic-executor.agent.md +12 -12
- package/resources/customizations/.github/agents/powershell-atomic-planning.agent.md +4 -4
- package/resources/customizations/.github/agents/powershell-orchestrator.agent.md +6 -6
- package/resources/customizations/.github/agents/powershell-typed-engineer.agent.md +21 -24
- package/resources/customizations/.github/agents/pytest-unit-test-coding.agent.md +13 -17
- package/resources/customizations/.github/agents/python-atomic-executor.agent.md +11 -11
- package/resources/customizations/.github/agents/python-atomic-planning.agent.md +2 -2
- package/resources/customizations/.github/agents/python-execution-only-typed.agent.md +14 -17
- package/resources/customizations/.github/agents/python-orchestrator.agent.md +7 -7
- package/resources/customizations/.github/agents/python-typed-engineer.agent.md +17 -20
- package/resources/customizations/.github/agents/staged-review.agent.md +2 -2
- package/resources/customizations/.github/agents/tdd-green.agent.md +1 -1
- package/resources/customizations/.github/agents/tdd-red.agent.md +3 -3
- package/resources/customizations/.github/agents/tdd-refactor.agent.md +2 -2
- package/resources/customizations/.github/agents/typescript-engineer.agent.md +3 -3
- package/resources/customizations/.github/codex/execute-hard-lock.prompt.md +3 -3
- package/resources/customizations/.github/instructions/general-code-change.instructions.md +1 -1
- package/resources/customizations/.github/instructions/powershell-unit-test.instructions.md +1 -1
- package/resources/customizations/.github/instructions/python-code-change.instructions.md +5 -5
- package/resources/customizations/.github/instructions/python-suppressions.instructions.md +3 -3
- package/resources/customizations/.github/instructions/python-unit-test.instructions.md +1 -1
- package/resources/customizations/.github/prompts/execute-hard-lock.prompt.md +2 -2
- package/resources/customizations/.github/prompts/generate-commit-message-repo.prompt.md +2 -2
- package/resources/customizations/.github/prompts/remediate-comments.prompt.md +2 -2
- package/resources/customizations/.github/prompts/review-feature.prompt.md +1 -1
- package/resources/customizations/.github/skills/atomic-plan-contract/SKILL.md +8 -12
- package/resources/customizations/.github/skills/execution-environment/SKILL.md +18 -13
- package/resources/customizations/.github/skills/feature-review-workflow/SKILL.md +15 -2
- package/resources/feature-templates/bug/plan.yyyy-MM-ddTHH-mm.md +4 -4
- package/resources/feature-templates/feature/plan.yyyy-MM-ddTHH-mm.md +3 -3
- package/resources/feature-templates/refactor/plan.yyyy-MM-ddTHH-mm.md +2 -2
- package/resources/powershell/PoshQC/PoshQC.Testing.psm1 +2 -2
- package/resources/powershell/PoshQC/PoshQC.psm1 +3 -3
- package/resources/powershell/PoshQC/README.md +8 -8
- package/resources/powershell/PoshQC/settings/pester.runsettings.psd1 +2 -2
- package/resources/templates/policy_audit/AGENTS.md +9 -10
- package/resources/templates/policy_audit/policy-audit.yyyy-MM-ddTHH-mm.md +19 -20
package/resources/codex-and-agents-customizations/.agents/skills/powershell-qa-gate/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: powershell-qa-gate
|
|
3
|
-
description: Final QA gate for PowerShell changes. Runs PoshQC formatting, analysis, and testing with coverage where enforced; compares
|
|
3
|
+
description: Final QA gate for PowerShell changes. Runs PoshQC formatting, analysis, and testing with coverage where enforced; compares static results to the static baseline, reads tests and coverage from the single gate run, and reports before completion.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# PowerShell QA Gate
|
|
@@ -12,14 +12,14 @@ Canonical procedure for the Phase D final quality gate that every PowerShell cha
|
|
|
12
12
|
Use this skill when:
|
|
13
13
|
|
|
14
14
|
- `powershell-typed-engineer` is about to declare a change complete.
|
|
15
|
-
- An executor has finished applying a planned batch and must verify
|
|
15
|
+
- An executor has finished applying a planned batch and must verify the static tools against the static baseline recorded in Phase A, and the tests in the single gate run.
|
|
16
16
|
- A reviewer needs to confirm the toolchain was actually run and produced a clean pass.
|
|
17
17
|
|
|
18
18
|
## Required Inputs
|
|
19
19
|
|
|
20
20
|
Before invoking this gate, the agent must have:
|
|
21
21
|
|
|
22
|
-
- a baseline record produced in Phase A, containing PSScriptAnalyzer findings
|
|
22
|
+
- a static baseline record produced in Phase A, containing PSScriptAnalyzer findings for the in-scope files,
|
|
23
23
|
- the exact list of touched production and test files,
|
|
24
24
|
- a clean working tree (all planned edits committed to the working copy).
|
|
25
25
|
|
|
@@ -29,39 +29,38 @@ Run the full toolchain in this exact order. If any step fails or modifies files,
|
|
|
29
29
|
|
|
30
30
|
1. `mcp__drm-copilot__run_poshqc_format`
|
|
31
31
|
2. `mcp__drm-copilot__run_poshqc_analyze`
|
|
32
|
-
3. `
|
|
33
|
-
4. Coverage check (when enforced by task/repo flow) — use the Pester coverage output
|
|
32
|
+
3. One `Invoke-PoshQCParallelTest` run, through the route in the `execution-environment` brief. Read `ExitCode` first.
|
|
33
|
+
4. Coverage check (when enforced by task/repo flow) — use the Pester coverage output of the run in step 3.
|
|
34
34
|
|
|
35
35
|
If the environment prevents running any tool, stop and report the change as **unverified**. Do not declare completion.
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## Gate Requirements (Hard Gate)
|
|
38
38
|
|
|
39
|
-
Compare the final results to the Phase A
|
|
39
|
+
Compare the final static tool results to the static baseline recorded in Phase A, and read test and coverage results from the single gate run. All of the following must hold:
|
|
40
40
|
|
|
41
41
|
- **PSScriptAnalyzer delta**: 0 new findings across the repository.
|
|
42
|
-
- **Pester
|
|
43
|
-
- **Per-file coverage
|
|
44
|
-
- **Overall coverage delta** (when the repo enforces it): overall coverage is greater than or equal to the baseline.
|
|
42
|
+
- **Pester gate**: zero failures in the single gate run.
|
|
43
|
+
- **Per-file coverage**: every changed file meets the coverage thresholds, read from the single gate run, and new behavior is tested.
|
|
45
44
|
- **New modules, classes, or methods**: coverage >= 90% for each new unit introduced in the batch.
|
|
46
45
|
|
|
47
|
-
If any
|
|
46
|
+
If any check fails, the agent must revert or fix immediately and rerun the full toolchain. Do not proceed to reporting until all checks are clean.
|
|
48
47
|
|
|
49
48
|
## Required Reporting Block
|
|
50
49
|
|
|
51
50
|
Every completion response must include the following sections:
|
|
52
51
|
|
|
53
52
|
1. **Scope** — exact file list touched in this change.
|
|
54
|
-
2. **Baseline** — PSScriptAnalyzer
|
|
53
|
+
2. **Baseline** — PSScriptAnalyzer findings recorded in Phase A.
|
|
55
54
|
3. **Plan** — design and test-strategy summary, referencing the approved plan, including proposed script/module structure, minimal DI seams, Pester scenario-level test strategy, and external executable wrapper mock strategy.
|
|
56
55
|
4. **Diffs** — patch-style or full-file replacements for scoped files only.
|
|
57
|
-
5. **QA Gate Results** — PSScriptAnalyzer delta,
|
|
56
|
+
5. **QA Gate Results** — PSScriptAnalyzer delta, failures in the single gate run, and per-file coverage against the thresholds. If any step could not be run, mark the corresponding line **unverified** and state why.
|
|
58
57
|
|
|
59
58
|
## Evidence Storage
|
|
60
59
|
|
|
61
60
|
Persist toolchain output according to `evidence-and-timestamp-conventions`:
|
|
62
61
|
|
|
63
|
-
- store baseline outputs under `<FEATURE>/evidence/baseline/<timestamp>/`,
|
|
64
|
-
- store
|
|
62
|
+
- store static baseline outputs under `<FEATURE>/evidence/baseline/<timestamp>/`,
|
|
63
|
+
- store final gate outputs under `<FEATURE>/evidence/qa-gates/<timestamp>/`,
|
|
65
64
|
- use ISO-8601 UTC timestamps in folder names.
|
|
66
65
|
|
|
67
66
|
This location is canonical per evidence-and-timestamp-conventions and is not overridable.
|
|
@@ -73,5 +72,5 @@ The evidence paths must be referenced in the agent's completion message to satis
|
|
|
73
72
|
|
|
74
73
|
- Do not disable, skip, or narrow any step of the toolchain to reach a clean result.
|
|
75
74
|
- Do not add PSScriptAnalyzer rule suppressions (`[Diagnostics.CodeAnalysis.SuppressMessageAttribute]` or `PSScriptAnalyzer` suppression comments) or Pester `-Skip` / `-Pending` to mask new findings introduced by the change.
|
|
76
|
-
- Do not report success based on partial or targeted runs
|
|
75
|
+
- Do not report success based on partial or targeted runs. A focused run of one test file to debug a specific failure is debugging only; it is never a gate or evidence, and the final gate is the single gate run.
|
|
77
76
|
- Do not mock `git`, `gh`, `actionlint`, or other executables directly; mock the wrapper function (for example `Invoke-GitExe`) per `.agents/skills/powershell/SKILL.md`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: python-qa-gate
|
|
3
|
-
description: Final QA gate for Python changes. Runs Black, Ruff, Pyright, and Pytest; compares
|
|
3
|
+
description: Final QA gate for Python changes. Runs Black, Ruff, Pyright, and Pytest; compares static results to the static baseline, reads tests and coverage from the single gate run, and reports before completion.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Python QA Gate
|
|
@@ -12,14 +12,14 @@ Canonical procedure for the Phase D final quality gate that every Python change
|
|
|
12
12
|
Use this skill when:
|
|
13
13
|
|
|
14
14
|
- `python-typed-engineer` is about to declare a change complete.
|
|
15
|
-
- An executor has finished applying a planned batch and must verify
|
|
15
|
+
- An executor has finished applying a planned batch and must verify the static tools against the static baseline recorded in Phase A, and the tests in the single gate run.
|
|
16
16
|
- A reviewer needs to confirm the toolchain was actually run and produced a clean pass.
|
|
17
17
|
|
|
18
18
|
## Required Inputs
|
|
19
19
|
|
|
20
20
|
Before invoking this gate, the agent must have:
|
|
21
21
|
|
|
22
|
-
- a baseline record produced in Phase A, containing Ruff
|
|
22
|
+
- a static baseline record produced in Phase A, containing Ruff and Pyright findings for the in-scope files,
|
|
23
23
|
- the exact list of touched production and test files,
|
|
24
24
|
- a clean working tree (all planned edits committed to the working copy).
|
|
25
25
|
|
|
@@ -30,39 +30,38 @@ Run the full toolchain in this exact order. If any step fails or modifies files,
|
|
|
30
30
|
1. `poetry run black .`
|
|
31
31
|
2. `poetry run ruff check .`
|
|
32
32
|
3. `poetry run pyright`
|
|
33
|
-
4. `poetry run pytest --cov --cov-report=term-missing`
|
|
33
|
+
4. `poetry run pytest -n auto --cov-branch --cov-report=term-missing --cov`
|
|
34
34
|
|
|
35
35
|
If the environment prevents running any tool, stop and report the change as **unverified**. Do not declare completion.
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## Gate Requirements (Hard Gate)
|
|
38
38
|
|
|
39
|
-
Compare the final results to the Phase A
|
|
39
|
+
Compare the final static tool results to the static baseline recorded in Phase A, and read test and coverage results from the single gate run. All of the following must hold:
|
|
40
40
|
|
|
41
41
|
- **Ruff delta**: 0 new findings across the repository.
|
|
42
42
|
- **Pyright delta**: 0 new diagnostics across the repository.
|
|
43
|
-
- **Pytest
|
|
44
|
-
- **Per-file coverage
|
|
45
|
-
- **Overall coverage delta** (when the repo enforces it): overall coverage is greater than or equal to the baseline.
|
|
43
|
+
- **Pytest gate**: zero failures in the single gate run.
|
|
44
|
+
- **Per-file coverage**: every changed file meets the coverage thresholds, read from the single gate run, and new behavior is tested.
|
|
46
45
|
- **New modules, classes, or methods**: coverage >= 90% for each new unit introduced in the batch.
|
|
47
46
|
|
|
48
|
-
If any
|
|
47
|
+
If any check fails, the agent must revert or fix immediately and rerun the full toolchain. Do not proceed to reporting until all checks are clean.
|
|
49
48
|
|
|
50
49
|
## Required Reporting Block
|
|
51
50
|
|
|
52
51
|
Every completion response must include the following sections:
|
|
53
52
|
|
|
54
53
|
1. **Scope** — exact file list touched in this change.
|
|
55
|
-
2. **Baseline** — Ruff
|
|
54
|
+
2. **Baseline** — Ruff and Pyright findings recorded in Phase A.
|
|
56
55
|
3. **Plan** — design and test-strategy summary, referencing the approved plan.
|
|
57
56
|
4. **Diffs** — patch-style or full-file replacements for scoped files only.
|
|
58
|
-
5. **QA Gate Results** — Ruff
|
|
57
|
+
5. **QA Gate Results** — Ruff and Pyright deltas, failures in the single gate run, and per-file coverage against the thresholds. If any step could not be run, mark the corresponding line **unverified** and state why.
|
|
59
58
|
|
|
60
59
|
## Evidence Storage
|
|
61
60
|
|
|
62
61
|
Persist toolchain output according to `evidence-and-timestamp-conventions`:
|
|
63
62
|
|
|
64
|
-
- store baseline outputs under `<FEATURE>/evidence/baseline/<timestamp>/`,
|
|
65
|
-
- store
|
|
63
|
+
- store static baseline outputs under `<FEATURE>/evidence/baseline/<timestamp>/`,
|
|
64
|
+
- store final gate outputs under `<FEATURE>/evidence/qa-gates/<timestamp>/`,
|
|
66
65
|
- use ISO-8601 UTC timestamps in folder names.
|
|
67
66
|
|
|
68
67
|
This location is canonical per evidence-and-timestamp-conventions and is not overridable.
|
|
@@ -74,4 +73,4 @@ The evidence paths must be referenced in the agent's completion message to satis
|
|
|
74
73
|
|
|
75
74
|
- Do not disable, skip, or narrow any step of the toolchain to reach a clean result.
|
|
76
75
|
- Do not add Ruff `noqa`, Pyright `# type: ignore`, or test skips to suppress new findings introduced by the change.
|
|
77
|
-
- Do not report success based on partial or targeted runs
|
|
76
|
+
- Do not report success based on partial or targeted runs. A focused run of one test file to debug a specific failure is debugging only; it is never a gate or evidence, and the final gate is the single gate run.
|
package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/SKILL.md
CHANGED
|
@@ -180,6 +180,8 @@ Required tools:
|
|
|
180
180
|
- `run_poshqc_analyze_autofix`
|
|
181
181
|
- `run_poshqc_test`
|
|
182
182
|
|
|
183
|
+
`run_poshqc_test` is not a validation gate. The Pester gate is one `Invoke-PoshQCParallelTest` run, through the route in the `execution-environment` skill.
|
|
184
|
+
|
|
183
185
|
When a workflow requires PoshQC execution through MCP, use only these tools. If the required tool is unavailable or fails, stop.
|
|
184
186
|
|
|
185
187
|
## Output Requirements
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: csharp-qa-gate
|
|
3
|
-
description: Final QA gate for C# changes. Executes the full CSharpier -> .NET Analyzers -> Nullable Analysis -> MSTest toolchain, compares against
|
|
3
|
+
description: Final QA gate for C# changes. Executes the full CSharpier -> .NET Analyzers -> Nullable Analysis -> MSTest toolchain, compares static tool results against the static baseline, reads test and coverage results from the single gate run, and produces the required reporting block before the agent declares the change complete.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# C# QA Gate
|
|
@@ -14,14 +14,14 @@ Canonical procedure for the Phase D final quality gate that every C# change must
|
|
|
14
14
|
Use this skill when:
|
|
15
15
|
|
|
16
16
|
- `csharp-typed-engineer` is about to declare a change complete.
|
|
17
|
-
- An executor has finished applying a planned batch and must verify
|
|
17
|
+
- An executor has finished applying a planned batch and must verify the static tools against the static baseline recorded in Phase A, and the tests in the single gate run.
|
|
18
18
|
- A reviewer needs to confirm the toolchain was actually run and produced a clean pass.
|
|
19
19
|
|
|
20
20
|
## Required Inputs
|
|
21
21
|
|
|
22
22
|
Before invoking this gate, the agent must have:
|
|
23
23
|
|
|
24
|
-
- a baseline record produced in Phase A, containing analyzer findings
|
|
24
|
+
- a static baseline record produced in Phase A, containing analyzer findings and compiler/nullable diagnostics for the in-scope files,
|
|
25
25
|
- the exact list of touched production and test files,
|
|
26
26
|
- a clean working tree (all planned edits committed to the working copy).
|
|
27
27
|
|
|
@@ -38,35 +38,34 @@ Run the full toolchain in this exact order. If any step fails or modifies files,
|
|
|
38
38
|
|
|
39
39
|
If the environment prevents running any tool, stop and report the change as **unverified**. Do not declare completion.
|
|
40
40
|
|
|
41
|
-
##
|
|
41
|
+
## Gate Requirements (Hard Gate)
|
|
42
42
|
|
|
43
|
-
Compare the final results to the Phase A
|
|
43
|
+
Compare the final static tool results to the static baseline recorded in Phase A, and read test and coverage results from the single gate run. All of the following must hold:
|
|
44
44
|
|
|
45
45
|
- **Analyzer delta**: 0 new findings across the repository.
|
|
46
46
|
- **Compiler / nullable delta**: 0 new diagnostics across the repository.
|
|
47
|
-
- **MSTest
|
|
48
|
-
- **Per-file coverage
|
|
49
|
-
- **Overall coverage delta** (when the repo enforces it): overall coverage is greater than or equal to the baseline.
|
|
47
|
+
- **MSTest gate**: zero failures in the single gate run.
|
|
48
|
+
- **Per-file coverage**: every changed file meets the coverage thresholds, read from the single gate run, and new behavior is tested.
|
|
50
49
|
- **New modules, classes, or methods**: coverage >= 90% for each new unit introduced in the batch.
|
|
51
50
|
|
|
52
|
-
If any
|
|
51
|
+
If any check fails, the agent must revert or fix immediately and rerun the full toolchain. Do not proceed to reporting until all checks are clean.
|
|
53
52
|
|
|
54
53
|
## Required Reporting Block
|
|
55
54
|
|
|
56
55
|
Every completion response must include the following sections:
|
|
57
56
|
|
|
58
57
|
1. **Scope** — exact file list touched in this change.
|
|
59
|
-
2. **Baseline** — analyzer
|
|
58
|
+
2. **Baseline** — analyzer and compiler/nullable findings recorded in Phase A.
|
|
60
59
|
3. **Plan** — design and test-strategy summary, referencing the approved plan.
|
|
61
60
|
4. **Diffs** — patch-style or full-file replacements for scoped files only.
|
|
62
|
-
5. **QA Gate Results** — analyzer
|
|
61
|
+
5. **QA Gate Results** — analyzer and compiler/nullable deltas, failures in the single gate run, and per-file coverage against the thresholds. If any step could not be run, mark the corresponding line **unverified** and state why.
|
|
63
62
|
|
|
64
63
|
## Evidence Storage
|
|
65
64
|
|
|
66
65
|
Persist toolchain output according to `evidence-and-timestamp-conventions`:
|
|
67
66
|
|
|
68
|
-
- store baseline outputs under `<FEATURE>/evidence/baseline/<timestamp>/`,
|
|
69
|
-
- store
|
|
67
|
+
- store static baseline outputs under `<FEATURE>/evidence/baseline/<timestamp>/`,
|
|
68
|
+
- store final gate outputs under `<FEATURE>/evidence/qa-gates/<timestamp>/`,
|
|
70
69
|
- use ISO-8601 UTC timestamps in folder names.
|
|
71
70
|
|
|
72
71
|
This location is canonical per evidence-and-timestamp-conventions and is not overridable.
|
|
@@ -78,4 +77,4 @@ The evidence paths must be referenced in the agent's completion message to satis
|
|
|
78
77
|
|
|
79
78
|
- Do not disable, skip, or narrow any step of the toolchain to reach a clean result.
|
|
80
79
|
- Do not add analyzer suppressions, `#pragma warning disable`, `#nullable disable`, or test `[Ignore]` attributes to suppress new findings introduced by the change.
|
|
81
|
-
- Do not report success based on partial or targeted runs
|
|
80
|
+
- Do not report success based on partial or targeted runs. A focused run of one test file to debug a specific failure is debugging only; it is never a gate or evidence, and the final gate is the single gate run.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: invoke-csharp-engineer
|
|
3
|
-
description: Invoke the csharp-typed-engineer worker to design, implement, and verify C# changes within typed repository boundaries. Applies CSharpier -> .NET Analyzers -> Nullable Analysis -> MSTest toolchain, the 1-3 production-file small-path budget, and
|
|
3
|
+
description: Invoke the csharp-typed-engineer worker to design, implement, and verify C# changes within typed repository boundaries. Applies CSharpier -> .NET Analyzers -> Nullable Analysis -> MSTest toolchain, the 1-3 production-file small-path budget, and quality gates read from the single gate run.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Implement C# Skill
|
|
@@ -30,7 +30,7 @@ If the estimated scope exceeds the small-path budget, this skill defers to the o
|
|
|
30
30
|
## Output Paths
|
|
31
31
|
|
|
32
32
|
- C# source and test files within the approved scope.
|
|
33
|
-
-
|
|
33
|
+
- Static baseline evidence under `<FEATURE>/evidence/baseline/<timestamp>/` and final gate evidence under `<FEATURE>/evidence/qa-gates/<timestamp>/` per `evidence-and-timestamp-conventions`.
|
|
34
34
|
- This location is canonical per evidence-and-timestamp-conventions and is not overridable. See `.agents/skills/evidence-and-timestamp-conventions/SKILL.md` for the canonical evidence path authority.
|
|
35
35
|
- Plan artifacts under the active feature folder when the task is feature-scoped.
|
|
36
36
|
|
|
@@ -39,10 +39,10 @@ If the estimated scope exceeds the small-path budget, this skill defers to the o
|
|
|
39
39
|
The worker must return the following reporting block:
|
|
40
40
|
|
|
41
41
|
1. Scope (exact file list).
|
|
42
|
-
2. Baseline (CSharpier, .NET Analyzers, Nullable Analysis
|
|
42
|
+
2. Baseline (CSharpier, .NET Analyzers, and Nullable Analysis findings).
|
|
43
43
|
3. Plan (design and test strategy).
|
|
44
44
|
4. Diffs (patch-style or full-file replacements).
|
|
45
|
-
5. QA Gate Results (CSharpier, .NET Analyzers, Nullable Analysis,
|
|
45
|
+
5. QA Gate Results (CSharpier, .NET Analyzers, and Nullable Analysis deltas, failures in the single gate run, and per-file coverage against the thresholds, or clearly marked **unverified**).
|
|
46
46
|
|
|
47
47
|
## Worker Routing
|
|
48
48
|
|
|
@@ -89,9 +89,9 @@ For each task:
|
|
|
89
89
|
|
|
90
90
|
Use the scoped tool patterns for quality gates:
|
|
91
91
|
|
|
92
|
-
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest`
|
|
92
|
+
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest -n auto`
|
|
93
93
|
- **TypeScript**: `npx prettier`, `npx eslint`, `npx tsc`, `npx jest`
|
|
94
|
-
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-
|
|
94
|
+
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-copilot__run_poshqc_analyze_autofix`), and one `Invoke-PoshQCParallelTest` run as the Pester gate through the `sh` launcher route
|
|
95
95
|
- **Git**: `git diff`, `git status`, `git log`
|
|
96
96
|
|
|
97
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
@@ -122,7 +122,7 @@ When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATIO
|
|
|
122
122
|
|
|
123
123
|
## Blocking Protocol
|
|
124
124
|
|
|
125
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. When preflight-blocked:
|
|
125
|
+
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. A light remediation run has no preflight, and stops the same way before `[P0-T1]` only when a fix task cannot be done at its named location. When preflight-blocked:
|
|
126
126
|
|
|
127
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
128
128
|
2. Provide a short, concrete explanation of why.
|
|
@@ -89,9 +89,9 @@ For each task:
|
|
|
89
89
|
|
|
90
90
|
Use the scoped tool patterns for quality gates:
|
|
91
91
|
|
|
92
|
-
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest`
|
|
92
|
+
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest -n auto`
|
|
93
93
|
- **TypeScript**: `npx prettier`, `npx eslint`, `npx tsc`, `npx jest`
|
|
94
|
-
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-
|
|
94
|
+
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-copilot__run_poshqc_analyze_autofix`), and one `Invoke-PoshQCParallelTest` run as the Pester gate through the `sh` launcher route
|
|
95
95
|
- **Git**: `git diff`, `git status`, `git log`
|
|
96
96
|
|
|
97
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
@@ -122,7 +122,7 @@ When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATIO
|
|
|
122
122
|
|
|
123
123
|
## Blocking Protocol
|
|
124
124
|
|
|
125
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. When preflight-blocked:
|
|
125
|
+
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. A light remediation run has no preflight, and stops the same way before `[P0-T1]` only when a fix task cannot be done at its named location. When preflight-blocked:
|
|
126
126
|
|
|
127
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
128
128
|
2. Provide a short, concrete explanation of why.
|
package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3-elevated.toml
CHANGED
|
@@ -89,9 +89,9 @@ For each task:
|
|
|
89
89
|
|
|
90
90
|
Use the scoped tool patterns for quality gates:
|
|
91
91
|
|
|
92
|
-
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest`
|
|
92
|
+
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest -n auto`
|
|
93
93
|
- **TypeScript**: `npx prettier`, `npx eslint`, `npx tsc`, `npx jest`
|
|
94
|
-
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-
|
|
94
|
+
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-copilot__run_poshqc_analyze_autofix`), and one `Invoke-PoshQCParallelTest` run as the Pester gate through the `sh` launcher route
|
|
95
95
|
- **Git**: `git diff`, `git status`, `git log`
|
|
96
96
|
|
|
97
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
@@ -122,7 +122,7 @@ When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATIO
|
|
|
122
122
|
|
|
123
123
|
## Blocking Protocol
|
|
124
124
|
|
|
125
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. When preflight-blocked:
|
|
125
|
+
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. A light remediation run has no preflight, and stops the same way before `[P0-T1]` only when a fix task cannot be done at its named location. When preflight-blocked:
|
|
126
126
|
|
|
127
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
128
128
|
2. Provide a short, concrete explanation of why.
|
|
@@ -89,9 +89,9 @@ For each task:
|
|
|
89
89
|
|
|
90
90
|
Use the scoped tool patterns for quality gates:
|
|
91
91
|
|
|
92
|
-
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest`
|
|
92
|
+
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest -n auto`
|
|
93
93
|
- **TypeScript**: `npx prettier`, `npx eslint`, `npx tsc`, `npx jest`
|
|
94
|
-
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-
|
|
94
|
+
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-copilot__run_poshqc_analyze_autofix`), and one `Invoke-PoshQCParallelTest` run as the Pester gate through the `sh` launcher route
|
|
95
95
|
- **Git**: `git diff`, `git status`, `git log`
|
|
96
96
|
|
|
97
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
@@ -122,7 +122,7 @@ When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATIO
|
|
|
122
122
|
|
|
123
123
|
## Blocking Protocol
|
|
124
124
|
|
|
125
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. When preflight-blocked:
|
|
125
|
+
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. A light remediation run has no preflight, and stops the same way before `[P0-T1]` only when a fix task cannot be done at its named location. When preflight-blocked:
|
|
126
126
|
|
|
127
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
128
128
|
2. Provide a short, concrete explanation of why.
|
|
@@ -89,9 +89,9 @@ For each task:
|
|
|
89
89
|
|
|
90
90
|
Use the scoped tool patterns for quality gates:
|
|
91
91
|
|
|
92
|
-
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest`
|
|
92
|
+
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest -n auto`
|
|
93
93
|
- **TypeScript**: `npx prettier`, `npx eslint`, `npx tsc`, `npx jest`
|
|
94
|
-
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-
|
|
94
|
+
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-copilot__run_poshqc_analyze_autofix`), and one `Invoke-PoshQCParallelTest` run as the Pester gate through the `sh` launcher route
|
|
95
95
|
- **Git**: `git diff`, `git status`, `git log`
|
|
96
96
|
|
|
97
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
@@ -122,7 +122,7 @@ When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATIO
|
|
|
122
122
|
|
|
123
123
|
## Blocking Protocol
|
|
124
124
|
|
|
125
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. When preflight-blocked:
|
|
125
|
+
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. A light remediation run has no preflight, and stops the same way before `[P0-T1]` only when a fix task cannot be done at its named location. When preflight-blocked:
|
|
126
126
|
|
|
127
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
128
128
|
2. Provide a short, concrete explanation of why.
|
|
@@ -89,9 +89,9 @@ For each task:
|
|
|
89
89
|
|
|
90
90
|
Use the scoped tool patterns for quality gates:
|
|
91
91
|
|
|
92
|
-
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest`
|
|
92
|
+
- **Python**: `poetry run black`, `poetry run ruff`, `poetry run pyright`, `poetry run pytest -n auto`
|
|
93
93
|
- **TypeScript**: `npx prettier`, `npx eslint`, `npx tsc`, `npx jest`
|
|
94
|
-
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-
|
|
94
|
+
- **PowerShell**: MCP server functions (`mcp__drm-copilot__run_poshqc_format`, `mcp__drm-copilot__run_poshqc_analyze`, `mcp__drm-copilot__run_poshqc_analyze_autofix`), and one `Invoke-PoshQCParallelTest` run as the Pester gate through the `sh` launcher route
|
|
95
95
|
- **Git**: `git diff`, `git status`, `git log`
|
|
96
96
|
|
|
97
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
@@ -122,7 +122,7 @@ When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATIO
|
|
|
122
122
|
|
|
123
123
|
## Blocking Protocol
|
|
124
124
|
|
|
125
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. When preflight-blocked:
|
|
125
|
+
Blocking is permitted only during preflight validation (before `[P0-T1]`), including the preflight that opens a combined preflight-and-execute run of a proportionate remediation cycle. A light remediation run has no preflight, and stops the same way before `[P0-T1]` only when a fix task cannot be done at its named location. When preflight-blocked:
|
|
126
126
|
|
|
127
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
128
128
|
2. Provide a short, concrete explanation of why.
|
|
@@ -58,14 +58,14 @@ Generate plans using the atomic plan contract defined in the `atomic-plan-contra
|
|
|
58
58
|
- Phase headings: `### Phase N — <Title>`
|
|
59
59
|
- Task IDs: `- [ ] [P#-T#] <description>`
|
|
60
60
|
- Sequential task numbering within each phase
|
|
61
|
-
- Phase 0: baseline capture (repo-policy reading tasks + language-specific
|
|
61
|
+
- Phase 0: baseline capture (repo-policy reading tasks + language-specific static tool baselines; no test suite runs)
|
|
62
62
|
- Final phase: full QA loop for each applicable language
|
|
63
63
|
|
|
64
64
|
## Requirements
|
|
65
65
|
|
|
66
66
|
1. Every task must be atomic: one binary outcome, one verifiable acceptance criterion.
|
|
67
67
|
2. Every task must include explicit file paths.
|
|
68
|
-
3. Include explicit
|
|
68
|
+
3. Include explicit static baseline tasks and final-QA coverage tasks for each language where policy requires coverage, with per-file coverage read from the single gate run.
|
|
69
69
|
4. Do not add bucket tasks (e.g., "Refactor module" or "Write tests") that cannot be completed as a single binary outcome.
|
|
70
70
|
5. Do not execute implementation; produce the plan only.
|
|
71
71
|
|
|
@@ -58,14 +58,14 @@ Generate plans using the atomic plan contract defined in the `atomic-plan-contra
|
|
|
58
58
|
- Phase headings: `### Phase N — <Title>`
|
|
59
59
|
- Task IDs: `- [ ] [P#-T#] <description>`
|
|
60
60
|
- Sequential task numbering within each phase
|
|
61
|
-
- Phase 0: baseline capture (repo-policy reading tasks + language-specific
|
|
61
|
+
- Phase 0: baseline capture (repo-policy reading tasks + language-specific static tool baselines; no test suite runs)
|
|
62
62
|
- Final phase: full QA loop for each applicable language
|
|
63
63
|
|
|
64
64
|
## Requirements
|
|
65
65
|
|
|
66
66
|
1. Every task must be atomic: one binary outcome, one verifiable acceptance criterion.
|
|
67
67
|
2. Every task must include explicit file paths.
|
|
68
|
-
3. Include explicit
|
|
68
|
+
3. Include explicit static baseline tasks and final-QA coverage tasks for each language where policy requires coverage, with per-file coverage read from the single gate run.
|
|
69
69
|
4. Do not add bucket tasks (e.g., "Refactor module" or "Write tests") that cannot be completed as a single binary outcome.
|
|
70
70
|
5. Do not execute implementation; produce the plan only.
|
|
71
71
|
|
package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c3-elevated.toml
CHANGED
|
@@ -58,14 +58,14 @@ Generate plans using the atomic plan contract defined in the `atomic-plan-contra
|
|
|
58
58
|
- Phase headings: `### Phase N — <Title>`
|
|
59
59
|
- Task IDs: `- [ ] [P#-T#] <description>`
|
|
60
60
|
- Sequential task numbering within each phase
|
|
61
|
-
- Phase 0: baseline capture (repo-policy reading tasks + language-specific
|
|
61
|
+
- Phase 0: baseline capture (repo-policy reading tasks + language-specific static tool baselines; no test suite runs)
|
|
62
62
|
- Final phase: full QA loop for each applicable language
|
|
63
63
|
|
|
64
64
|
## Requirements
|
|
65
65
|
|
|
66
66
|
1. Every task must be atomic: one binary outcome, one verifiable acceptance criterion.
|
|
67
67
|
2. Every task must include explicit file paths.
|
|
68
|
-
3. Include explicit
|
|
68
|
+
3. Include explicit static baseline tasks and final-QA coverage tasks for each language where policy requires coverage, with per-file coverage read from the single gate run.
|
|
69
69
|
4. Do not add bucket tasks (e.g., "Refactor module" or "Write tests") that cannot be completed as a single binary outcome.
|
|
70
70
|
5. Do not execute implementation; produce the plan only.
|
|
71
71
|
|
|
@@ -58,14 +58,14 @@ Generate plans using the atomic plan contract defined in the `atomic-plan-contra
|
|
|
58
58
|
- Phase headings: `### Phase N — <Title>`
|
|
59
59
|
- Task IDs: `- [ ] [P#-T#] <description>`
|
|
60
60
|
- Sequential task numbering within each phase
|
|
61
|
-
- Phase 0: baseline capture (repo-policy reading tasks + language-specific
|
|
61
|
+
- Phase 0: baseline capture (repo-policy reading tasks + language-specific static tool baselines; no test suite runs)
|
|
62
62
|
- Final phase: full QA loop for each applicable language
|
|
63
63
|
|
|
64
64
|
## Requirements
|
|
65
65
|
|
|
66
66
|
1. Every task must be atomic: one binary outcome, one verifiable acceptance criterion.
|
|
67
67
|
2. Every task must include explicit file paths.
|
|
68
|
-
3. Include explicit
|
|
68
|
+
3. Include explicit static baseline tasks and final-QA coverage tasks for each language where policy requires coverage, with per-file coverage read from the single gate run.
|
|
69
69
|
4. Do not add bucket tasks (e.g., "Refactor module" or "Write tests") that cannot be completed as a single binary outcome.
|
|
70
70
|
5. Do not execute implementation; produce the plan only.
|
|
71
71
|
|
|
@@ -58,14 +58,14 @@ Generate plans using the atomic plan contract defined in the `atomic-plan-contra
|
|
|
58
58
|
- Phase headings: `### Phase N — <Title>`
|
|
59
59
|
- Task IDs: `- [ ] [P#-T#] <description>`
|
|
60
60
|
- Sequential task numbering within each phase
|
|
61
|
-
- Phase 0: baseline capture (repo-policy reading tasks + language-specific
|
|
61
|
+
- Phase 0: baseline capture (repo-policy reading tasks + language-specific static tool baselines; no test suite runs)
|
|
62
62
|
- Final phase: full QA loop for each applicable language
|
|
63
63
|
|
|
64
64
|
## Requirements
|
|
65
65
|
|
|
66
66
|
1. Every task must be atomic: one binary outcome, one verifiable acceptance criterion.
|
|
67
67
|
2. Every task must include explicit file paths.
|
|
68
|
-
3. Include explicit
|
|
68
|
+
3. Include explicit static baseline tasks and final-QA coverage tasks for each language where policy requires coverage, with per-file coverage read from the single gate run.
|
|
69
69
|
4. Do not add bucket tasks (e.g., "Refactor module" or "Write tests") that cannot be completed as a single binary outcome.
|
|
70
70
|
5. Do not execute implementation; produce the plan only.
|
|
71
71
|
|
|
@@ -58,14 +58,14 @@ Generate plans using the atomic plan contract defined in the `atomic-plan-contra
|
|
|
58
58
|
- Phase headings: `### Phase N — <Title>`
|
|
59
59
|
- Task IDs: `- [ ] [P#-T#] <description>`
|
|
60
60
|
- Sequential task numbering within each phase
|
|
61
|
-
- Phase 0: baseline capture (repo-policy reading tasks + language-specific
|
|
61
|
+
- Phase 0: baseline capture (repo-policy reading tasks + language-specific static tool baselines; no test suite runs)
|
|
62
62
|
- Final phase: full QA loop for each applicable language
|
|
63
63
|
|
|
64
64
|
## Requirements
|
|
65
65
|
|
|
66
66
|
1. Every task must be atomic: one binary outcome, one verifiable acceptance criterion.
|
|
67
67
|
2. Every task must include explicit file paths.
|
|
68
|
-
3. Include explicit
|
|
68
|
+
3. Include explicit static baseline tasks and final-QA coverage tasks for each language where policy requires coverage, with per-file coverage read from the single gate run.
|
|
69
69
|
4. Do not add bucket tasks (e.g., "Refactor module" or "Write tests") that cannot be completed as a single binary outcome.
|
|
70
70
|
5. Do not execute implementation; produce the plan only.
|
|
71
71
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name = "csharp-atomic-executor"
|
|
2
|
-
description = "Execute atomic_planner plans verbatim with atomic_executor rigor and C#-specialized quality gates (csharpier, analyzers, nullable and type safety, and
|
|
2
|
+
description = "Execute atomic_planner plans verbatim with atomic_executor rigor and C#-specialized quality gates (csharpier, analyzers, nullable and type safety, and MSTest)."
|
|
3
3
|
|
|
4
4
|
developer_instructions = """
|
|
5
5
|
You are a C#-aware execution wrapper for atomic-plan execution in Codex.
|
|
@@ -14,7 +14,7 @@ Core behavior:
|
|
|
14
14
|
- Execute the approved plan exactly as written.
|
|
15
15
|
- Preserve phase headings, task IDs, checkbox format, and task order.
|
|
16
16
|
- Honor validation-only preflight when the handoff includes `DIRECTIVE: PREFLIGHT VALIDATION ONLY`.
|
|
17
|
-
- When execution is authorized, run the required C# QA loop and report formatting, analyzer, type-safety,
|
|
17
|
+
- When execution is authorized, run the required C# QA loop and report formatting, analyzer, and type-safety deltas, failures in the single gate run, and per-file coverage where policy requires coverage.
|
|
18
18
|
- Stop and report blocked state if preflight requires planner revision and the planner-return handoff cannot be started or completed.
|
|
19
19
|
|
|
20
20
|
Final response contract:
|
|
@@ -13,7 +13,7 @@ Core behavior:
|
|
|
13
13
|
- Produce or revise only deterministic plan files for C# delivery work.
|
|
14
14
|
- Delegate validation-only preflight to `atomic-executor`.
|
|
15
15
|
- Require the exact directive `DIRECTIVE: PREFLIGHT VALIDATION ONLY` in the delegated preflight handoff.
|
|
16
|
-
- Require explicit C# baseline and final-QA tasks, including formatting, analyzer, type-safety, test, and coverage steps where policy requires coverage.
|
|
16
|
+
- Require explicit C# static baseline tasks and final-QA tasks, including formatting, analyzer, type-safety, test, and coverage steps where policy requires coverage.
|
|
17
17
|
- Reuse the same target plan file for the single permitted preflight revision.
|
|
18
18
|
- Do not create timestamped sibling plan files when an authoritative `plan-path` already exists.
|
|
19
19
|
- Stop and report blocked state if the required `atomic-executor` handoff cannot be started, resumed, or completed.
|
|
@@ -41,7 +41,7 @@ Routing and lifecycle rules:
|
|
|
41
41
|
- Do not create or edit `${feature-folder}/issue.md`, `${feature-folder}/spec.md`, `${feature-folder}/user-story.md`, or `plan*.md` until lifecycle setup succeeds.
|
|
42
42
|
- Do not persist placeholder lifecycle values such as `NONE`, `TBD`, or empty strings once lifecycle setup begins.
|
|
43
43
|
- Do not treat delegated planning as complete until the returned `plan-path` is concrete and preflight returns `PREFLIGHT: ALL CLEAR`.
|
|
44
|
-
- Do not treat delegated execution as complete until QA output includes formatting, analyzer, type-safety,
|
|
44
|
+
- Do not treat delegated execution as complete until QA output includes formatting, analyzer, and type-safety deltas, failures in the single gate run, and per-file coverage where policy requires coverage.
|
|
45
45
|
- Do not treat delegated review as complete until the required review artifacts exist on disk and validator-backed checks pass.
|
|
46
46
|
|
|
47
47
|
Language-specific large-path chain:
|
package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c1.toml
CHANGED
|
@@ -29,7 +29,7 @@ Migration contract:
|
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
name: csharp-typed-engineer
|
|
32
|
-
description: Project-scoped worker that implements and verifies C# changes within typed repository boundaries. Applies the CSharpier -> .NET Analyzers -> Nullable Analysis -> MSTest toolchain, the 1-3 production-file small-path budget, and
|
|
32
|
+
description: Project-scoped worker that implements and verifies C# changes within typed repository boundaries. Applies the CSharpier -> .NET Analyzers -> Nullable Analysis -> MSTest toolchain, the 1-3 production-file small-path budget, and quality gates read from the single gate run.
|
|
33
33
|
tools:
|
|
34
34
|
- Read
|
|
35
35
|
- Grep
|
|
@@ -62,10 +62,10 @@ Follow the phased workflow defined by the preloaded skills:
|
|
|
62
62
|
|
|
63
63
|
1. **Policy compliance** — apply `policy-compliance-order` to load mandatory repo policies before any change.
|
|
64
64
|
2. **Routing and scope** — apply `csharp-change-budget-router` to estimate scope, select direct vs orchestrator handoff mode, and enforce the 3 production + 3 test per-batch cap.
|
|
65
|
-
3. **Plan and baseline** — apply `atomic-plan-contract` for Phase 0 baseline capture and atomic plan structure. Delegate plan authoring to `atomic_planner` when no plan is supplied. Plans must include the proposed class and module structure, minimal DI seams, MSTest scenario-level test strategy, and Moq mock strategy.
|
|
66
|
-
4. **Implement in batches** — apply the approved plan. After each batch, run targeted analyzer and nullable builds on touched projects
|
|
67
|
-
5. **Final QA gate** — apply `csharp-qa-gate` to run the full toolchain,
|
|
68
|
-
6. **Evidence and handoff** — store baseline and
|
|
65
|
+
3. **Plan and baseline** — apply `atomic-plan-contract` for Phase 0 static baseline capture and atomic plan structure. Delegate plan authoring to `atomic_planner` when no plan is supplied. Plans must include the proposed class and module structure, minimal DI seams, MSTest scenario-level test strategy, and Moq mock strategy.
|
|
66
|
+
4. **Implement in batches** — apply the approved plan. After each batch, run targeted analyzer and nullable builds on touched projects. Test and coverage results come from the single gate run. A focused run of one test file to debug a specific failure is debugging only.
|
|
67
|
+
5. **Final QA gate** — apply `csharp-qa-gate` to run the full toolchain, compare static tool results against the static baseline, read test and coverage results from the single gate run, and produce the required reporting block before declaring completion.
|
|
68
|
+
6. **Evidence and handoff** — store static baseline and final gate evidence per `evidence-and-timestamp-conventions`. Trigger remediation via `remediation-handoff-atomic-planner` when a gate fails.
|
|
69
69
|
|
|
70
70
|
## Mode Marker Resolution
|
|
71
71
|
|
|
@@ -84,7 +84,7 @@ Stop implementation and return to the user when:
|
|
|
84
84
|
|
|
85
85
|
- the scope estimate or an in-flight batch would exceed the 3-production-file cap in direct mode,
|
|
86
86
|
- a file is above or would exceed the 800-line hard limit of the tiered file-size policy (split it before proceeding; at 500 lines look for a logical split, and at 700 lines split more aggressively),
|
|
87
|
-
- any QA gate
|
|
87
|
+
- any QA gate check fails after self-correction,
|
|
88
88
|
- the toolchain cannot be executed in the current environment (mark the change **unverified**),
|
|
89
89
|
- orchestrator handoff mode is requested but the required context package is incomplete,
|
|
90
90
|
- policy instructions conflict.
|