@danmoisan/drm-copilot-mcp 0.0.1 → 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 +98 -21
- package/package.json +21 -5
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/MEMORY.md +15 -3
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_branch_base_check_unmerged_pr_deps.md +16 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_every_change_through_lifecycle.md +15 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_policy_compliance_not_optional.md +18 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_potential_to_issue_creates_github_issue.md +13 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_remediation_plan_em_dash_required.md +13 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_small_bug_uses_minor_audit.md +13 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_test_files_count_against_500_cap.md +13 -0
- package/resources/claude-customizations/.claude/agents/atomic-executor.md +7 -7
- package/resources/claude-customizations/.claude/agents/csharp-typed-engineer.md +4 -5
- package/resources/claude-customizations/.claude/agents/feature-review.md +7 -3
- package/resources/claude-customizations/.claude/agents/orchestrator.md +22 -3
- package/resources/claude-customizations/.claude/agents/powershell-typed-engineer.md +1 -1
- 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 +303 -0
- package/resources/claude-customizations/.claude/hooks/enforce-completion-consistency.ps1 +300 -0
- package/resources/claude-customizations/.claude/hooks/enforce-evidence-locations.ps1 +40 -14
- package/resources/claude-customizations/.claude/hooks/enforce-feature-folder-order.ps1 +148 -0
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate.ps1 +210 -0
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.ps1 +333 -0
- package/resources/claude-customizations/.claude/hooks/enforce-prd-feature-before-planner.ps1 +216 -0
- package/resources/claude-customizations/.claude/hooks/enforce-promotion-mcp-only.ps1 +84 -15
- package/resources/claude-customizations/.claude/hooks/validate-executor-output.ps1 +1 -1
- package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage.ps1 +75 -5
- package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output.ps1 +93 -0
- package/resources/claude-customizations/.claude/hooks/validate-pr-author-output.ps1 +136 -0
- package/resources/claude-customizations/.claude/hooks/validate-task-researcher-output.ps1 +90 -6
- package/resources/claude-customizations/.claude/rules/architecture-boundaries.md +46 -0
- package/resources/claude-customizations/.claude/rules/benchmark-baselines.md +35 -0
- package/resources/claude-customizations/.claude/rules/ci-workflows.md +36 -0
- package/resources/claude-customizations/.claude/rules/csharp.md +62 -16
- package/resources/claude-customizations/.claude/rules/general-code-change.md +12 -3
- package/resources/claude-customizations/.claude/rules/general-unit-test.md +47 -2
- package/resources/claude-customizations/.claude/rules/orchestrator-state.md +39 -0
- package/resources/claude-customizations/.claude/rules/powershell.md +5 -5
- package/resources/claude-customizations/.claude/rules/python.md +4 -3
- package/resources/claude-customizations/.claude/rules/quality-tiers.md +51 -0
- package/resources/claude-customizations/.claude/rules/typescript.md +37 -8
- package/resources/claude-customizations/.claude/settings.json +59 -12
- package/resources/claude-customizations/.claude/skills/atomic-plan-contract/SKILL.md +2 -2
- package/resources/claude-customizations/.claude/skills/csharp-qa-gate/SKILL.md +25 -10
- package/resources/claude-customizations/.claude/skills/evidence-and-timestamp-conventions/SKILL.md +0 -1
- package/resources/claude-customizations/.claude/skills/execute-hard-lock/SKILL.md +6 -6
- package/resources/claude-customizations/.claude/skills/feature-promotion-lifecycle/SKILL.md +8 -8
- package/resources/claude-customizations/.claude/skills/feature-review-workflow/SKILL.md +17 -6
- package/resources/claude-customizations/.claude/skills/human-exception-runbook/SKILL.md +52 -0
- package/resources/claude-customizations/.claude/skills/human-exception-runbook/example.runbook.md +36 -0
- package/resources/claude-customizations/.claude/skills/invoke-csharp-engineer/SKILL.md +4 -4
- package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +172 -5
- package/resources/claude-customizations/.claude/skills/policy-audit-template-usage/SKILL.md +3 -3
- package/resources/claude-customizations/.claude/skills/powershell-qa-gate/SKILL.md +4 -4
- package/resources/claude-customizations/.claude/skills/pr-base-branch-merge-base/SKILL.md +3 -3
- package/resources/claude-customizations/.claude/skills/python-qa-gate/SKILL.md +1 -1
- package/resources/claude-customizations/.claude/skills/remediation-handoff-atomic-planner/SKILL.md +90 -17
- 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/claude-dir-customizations/.mcp.json +3 -3
- package/resources/codex-and-agents-customizations/.agents/README.md +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/acceptance-criteria-tracking/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/architecture-boundaries/SKILL.md +52 -0
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-plan-contract/SKILL.md +16 -8
- package/resources/codex-and-agents-customizations/.agents/skills/benchmark-baselines/SKILL.md +44 -0
- package/resources/codex-and-agents-customizations/.agents/skills/ci-workflows/SKILL.md +45 -0
- package/resources/codex-and-agents-customizations/.agents/skills/commit-message/SKILL.md +3 -11
- package/resources/codex-and-agents-customizations/.agents/skills/csharp/SKILL.md +1 -5
- package/resources/codex-and-agents-customizations/.agents/skills/csharp-change-budget-router/SKILL.md +1 -6
- package/resources/codex-and-agents-customizations/.agents/skills/csharp-orchestration-state-machine/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/csharp-qa-gate/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/evidence-and-timestamp-conventions/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/execute-hard-lock/SKILL.md +8 -17
- package/resources/codex-and-agents-customizations/.agents/skills/feature-promotion-lifecycle/SKILL.md +41 -25
- package/resources/codex-and-agents-customizations/.agents/skills/feature-review-workflow/SKILL.md +1 -6
- package/resources/codex-and-agents-customizations/.agents/skills/fill-feature-docs/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/general-code-change/SKILL.md +86 -0
- package/resources/codex-and-agents-customizations/.agents/skills/general-unit-test/SKILL.md +111 -0
- package/resources/codex-and-agents-customizations/.agents/skills/human-exception-runbook/SKILL.md +57 -0
- package/resources/codex-and-agents-customizations/.agents/skills/human-exception-runbook/example.runbook.md +36 -0
- package/resources/codex-and-agents-customizations/.agents/skills/invoke-csharp-engineer/SKILL.md +0 -9
- package/resources/codex-and-agents-customizations/.agents/skills/invoke-powershell-engineer/SKILL.md +0 -9
- package/resources/codex-and-agents-customizations/.agents/skills/invoke-python-engineer/SKILL.md +0 -9
- package/resources/codex-and-agents-customizations/.agents/skills/make-skill-template/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrate/SKILL.md +206 -18
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-state/SKILL.md +48 -0
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +94 -10
- package/resources/codex-and-agents-customizations/.agents/skills/policy-audit-template-usage/SKILL.md +3 -8
- package/resources/codex-and-agents-customizations/.agents/skills/policy-compliance-order/SKILL.md +0 -10
- package/resources/codex-and-agents-customizations/.agents/skills/powershell/SKILL.md +4 -8
- package/resources/codex-and-agents-customizations/.agents/skills/powershell-change-budget-router/SKILL.md +1 -6
- package/resources/codex-and-agents-customizations/.agents/skills/powershell-orchestration-state-machine/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/powershell-qa-gate/SKILL.md +3 -9
- package/resources/codex-and-agents-customizations/.agents/skills/pr-author/SKILL.md +1 -9
- package/resources/codex-and-agents-customizations/.agents/skills/pr-base-branch-merge-base/SKILL.md +4 -9
- package/resources/codex-and-agents-customizations/.agents/skills/pr-context-artifacts/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/python/SKILL.md +1 -5
- package/resources/codex-and-agents-customizations/.agents/skills/python-change-budget-router/SKILL.md +1 -6
- package/resources/codex-and-agents-customizations/.agents/skills/python-qa-gate/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/python-suppressions/SKILL.md +2 -6
- package/resources/codex-and-agents-customizations/.agents/skills/quality-tiers/SKILL.md +57 -0
- package/resources/codex-and-agents-customizations/.agents/skills/remediation-handoff-atomic-planner/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/SKILL.md +96 -72
- package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/agents/openai.yaml +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/research-issue/SKILL.md +0 -10
- package/resources/codex-and-agents-customizations/.agents/skills/review-epic/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/review-feature/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/review-staged/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/self-explanatory-code-commenting/SKILL.md +2 -6
- package/resources/codex-and-agents-customizations/.agents/skills/skill-canonical-location-audit/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.agents/skills/tonality/SKILL.md +86 -0
- package/resources/codex-and-agents-customizations/.agents/skills/translate-claude-to-codex/SKILL.md +297 -0
- package/resources/codex-and-agents-customizations/.agents/skills/translate-copilot-to-claude/SKILL.md +0 -22
- package/resources/codex-and-agents-customizations/.agents/skills/typescript/SKILL.md +1 -5
- package/resources/codex-and-agents-customizations/.agents/skills/typescript-suppressions/SKILL.md +2 -6
- package/resources/codex-and-agents-customizations/.agents/skills/update-status/SKILL.md +0 -5
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor.toml +5 -5
- package/resources/codex-and-agents-customizations/.codex/agents/orchestrator.toml +91 -63
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-executor.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/config.toml +111 -137
- 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 +84 -18
- package/resources/codex-and-agents-customizations/.codex/prompts/orchestrate-work.md +4 -3
- package/resources/codex-and-agents-customizations/.codex/scripts/post-codex-worktree-session.ps1 +5 -0
- package/resources/codex-and-agents-customizations/.github/workflows/_validate-orchestrator-state.yml +68 -0
- package/resources/codex-and-agents-customizations/.github/workflows/validate-orchestrator-state.yml +15 -0
- package/resources/config/orchestration-routing.json +76 -0
- package/resources/customizations/.github/agents/Powershell DI Unit Test Engineer.agent.md +1 -1
- package/resources/customizations/.github/agents/atomic_executor.agent.md +1 -1
- package/resources/customizations/.github/agents/atomic_planning.agent.md +10 -10
- package/resources/customizations/.github/agents/csharp-orchestrator.agent.md +6 -2
- package/resources/customizations/.github/agents/feature-review.agent.md +2 -2
- package/resources/customizations/.github/agents/orchestrator.agent.md +6 -2
- package/resources/customizations/.github/agents/powershell-atomic-executor.agent.md +4 -4
- package/resources/customizations/.github/agents/powershell-atomic-planning.agent.md +10 -10
- package/resources/customizations/.github/agents/powershell-orchestrator.agent.md +6 -2
- package/resources/customizations/.github/agents/powershell-typed-engineer.agent.md +2 -2
- package/resources/customizations/.github/agents/pr-author.agent.md +25 -0
- package/resources/customizations/.github/agents/python-orchestrator.agent.md +6 -2
- package/resources/customizations/.github/agents/staged-review.agent.md +1 -1
- package/resources/customizations/.github/agents/task-researcher.agent.md +4 -4
- package/resources/customizations/.github/instructions/powershell-code-change.instructions.md +6 -6
- package/resources/customizations/.github/prompts/fillout-prd-feature.prompt.md +1 -1
- package/resources/customizations/.github/prompts/generate-commit-message-repo.prompt.md +1 -1
- package/resources/customizations/.github/prompts/orchestrate-csharp-work.prompt.md +5 -3
- package/resources/customizations/.github/prompts/orchestrate-work.prompt.md +5 -3
- package/resources/customizations/.github/prompts/research-issue.prompt.md +4 -3
- package/resources/customizations/.github/skills/atomic-plan-contract/SKILL.md +14 -1
- package/resources/customizations/.github/skills/feature-promotion-lifecycle/SKILL.md +11 -7
- package/resources/customizations/.github/skills/feature-review-workflow/SKILL.md +10 -1
- package/resources/customizations/.github/skills/pr-base-branch-merge-base/SKILL.md +2 -2
- package/resources/customizations/.github/skills/remediation-handoff-atomic-planner/SKILL.md +5 -0
- package/resources/powershell/PoshQC/settings/pester.runsettings.psd1 +7 -0
- package/resources/scripts/dev_tools/_orchestrator_state_human_interaction.py +127 -0
- package/resources/scripts/dev_tools/_orchestrator_state_routing.py +216 -0
- package/resources/scripts/dev_tools/push_down_claude_customizations.py +276 -61
- 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_orchestration_artifacts.py +103 -411
- package/resources/scripts/dev_tools/validate_orchestration_review_artifacts.py +107 -0
- package/resources/scripts/dev_tools/validate_orchestrator_state.py +505 -0
- package/resources/scripts/dev_tools/validate_policy_audit_artifact.py +472 -0
- package/resources/templates/push_down_claude_customizations.py +162 -117
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_repo_root_is_source_of_truth.md +0 -11
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_vsce_verify_package_location.md +0 -19
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/project_extension_location.md +0 -11
- package/resources/claude-customizations/.claude/agent-memory/prd-feature/MEMORY.md +0 -1
- package/resources/claude-customizations/.claude/agent-memory/prd-feature/project_push_down_pattern.md +0 -13
- package/resources/claude-customizations/.claude/agent-memory/task-researcher/MEMORY.md +0 -3
- package/resources/claude-customizations/.claude/agent-memory/task-researcher/project_push_down_claude_dir.md +0 -11
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
# Converted skill
|
|
2
|
-
|
|
3
|
-
Applied rewrites:
|
|
4
|
-
- Rewrite merged standing-guidance source paths to the native AGENTS.md target.
|
|
5
|
-
- Rewrite Claude skill paths to shared skill paths.
|
|
6
|
-
- Rewrite Claude rules-directory references to the native skill root.
|
|
7
|
-
|
|
8
1
|
---
|
|
9
2
|
name: orchestrate
|
|
10
3
|
description: Route a repository request through the deterministic orchestration workflow for feature, bug, research, planning, execution, and review handoffs.
|
|
@@ -15,6 +8,17 @@ argument-hint: "[objective]"
|
|
|
15
8
|
|
|
16
9
|
This skill frames work for the already-active main session, which serves as the orchestrator runtime for end-to-end feature or bug delivery.
|
|
17
10
|
|
|
11
|
+
## Entry-Point Contract
|
|
12
|
+
|
|
13
|
+
The already-active main session is the canonical orchestrator runtime for this
|
|
14
|
+
skill. Optional orchestrator profiles, agent configuration files, or named
|
|
15
|
+
profiles are configuration aids only; they do not replace the active
|
|
16
|
+
main-session orchestration contract.
|
|
17
|
+
|
|
18
|
+
The main session owns route selection, checkpoint updates, lifecycle sequencing,
|
|
19
|
+
delegation decisions, and completion gating unless a required workflow step is
|
|
20
|
+
explicitly delegated by this skill or by `orchestrator-workflow`.
|
|
21
|
+
|
|
18
22
|
## Prerequisites
|
|
19
23
|
|
|
20
24
|
Before proceeding, the orchestrator must:
|
|
@@ -30,6 +34,152 @@ On every invocation, the main session must:
|
|
|
30
34
|
1. Read `artifacts/orchestration/orchestrator-state.json` to check for existing state.
|
|
31
35
|
2. If a valid checkpoint exists with a matching objective, resume from the recorded `next_step`.
|
|
32
36
|
3. If no checkpoint exists or the objective is new, begin the orchestration lifecycle from the start.
|
|
37
|
+
4. Read `config/orchestration-routing.json` before route selection and copy the
|
|
38
|
+
selected route's required agents, skills, and MCP tools into checkpoint
|
|
39
|
+
state.
|
|
40
|
+
|
|
41
|
+
## Read-Only Intake and Route Selection Gate
|
|
42
|
+
|
|
43
|
+
Before any lifecycle MCP call, the main session must complete a read-only scope
|
|
44
|
+
assessment. This gate is the read-only scope assessment for orchestration
|
|
45
|
+
intake. It includes policy reads, checkpoint reads, route config reads,
|
|
46
|
+
objective and scope assessment, language/file assessment, route selection, and
|
|
47
|
+
route metadata persistence.
|
|
48
|
+
|
|
49
|
+
The route-selection gate must be complete before calling any of:
|
|
50
|
+
|
|
51
|
+
- `new_potential_entry`
|
|
52
|
+
- `new_potential_bug_entry`
|
|
53
|
+
- `potential_to_issue`
|
|
54
|
+
- `new_active_feature_folder`
|
|
55
|
+
|
|
56
|
+
Until this gate is complete, the main session may read repository files and
|
|
57
|
+
checkpoint state, but must not create lifecycle entries, promote issues, create
|
|
58
|
+
active feature folders, edit implementation files, run formatters or tests,
|
|
59
|
+
stage files, commit files, or delegate implementation.
|
|
60
|
+
|
|
61
|
+
## Route-Derived Work Mode
|
|
62
|
+
|
|
63
|
+
The main session must derive `${work-mode}` from the selected route before
|
|
64
|
+
lifecycle automation starts:
|
|
65
|
+
|
|
66
|
+
- small route -> `minor-audit`
|
|
67
|
+
- large feature route -> `full-feature`
|
|
68
|
+
- large bug route -> `full-bug`
|
|
69
|
+
|
|
70
|
+
The selected `route_id`, exact route metadata, and derived `${work-mode}` must
|
|
71
|
+
be persisted in `artifacts/orchestration/orchestrator-state.json` before any
|
|
72
|
+
lifecycle MCP call or implementation action. Route metadata must include the
|
|
73
|
+
selected route's `required_agents`, `required_skills`, and
|
|
74
|
+
`required_mcp_tools` copied from `config/orchestration-routing.json`.
|
|
75
|
+
|
|
76
|
+
## Lifecycle Branch Sequencing
|
|
77
|
+
|
|
78
|
+
After route metadata is persisted and before potential entry creation, the main
|
|
79
|
+
session must create or verify a slug-only pre-issue branch:
|
|
80
|
+
|
|
81
|
+
- `${pre-issue-branch}`: `${promotion-type}/${short-name}`
|
|
82
|
+
|
|
83
|
+
The pre-issue branch must be derived only from `${promotion-type}` and
|
|
84
|
+
`${short-name}` because no numeric issue number exists yet. The main session
|
|
85
|
+
must create or verify this branch before calling `new_potential_entry` or
|
|
86
|
+
`new_potential_bug_entry`.
|
|
87
|
+
|
|
88
|
+
After potential entry creation, `potential_to_issue` must return a numeric
|
|
89
|
+
`${issue-num}` before the main session renames the branch to the final issue
|
|
90
|
+
branch:
|
|
91
|
+
|
|
92
|
+
- `${final-branch}`: `${promotion-type}/${short-name}-${issue-num}`
|
|
93
|
+
|
|
94
|
+
The branch rename to `${final-branch}` must complete before calling
|
|
95
|
+
`new_active_feature_folder`.
|
|
96
|
+
|
|
97
|
+
## Pre-Implementation Gate
|
|
98
|
+
|
|
99
|
+
The pre-implementation gate must pass before any edits, formatters, tests,
|
|
100
|
+
staging, commits, or implementation delegation. This gate covers edits, formatters, tests, staging, commits, and implementation delegation. The main session must verify and persist all of the following before implementation can begin:
|
|
101
|
+
|
|
102
|
+
- checkpoint route metadata is present and matches the selected route;
|
|
103
|
+
- selected `${work-mode}` is present and matches the selected route;
|
|
104
|
+
- lifecycle readiness is complete for the selected path;
|
|
105
|
+
- branch state records `${pre-issue-branch}`, `${final-branch}`, and branch
|
|
106
|
+
rename status where lifecycle setup is required;
|
|
107
|
+
- required MCP receipts exist for completed lifecycle operations.
|
|
108
|
+
|
|
109
|
+
If any required item is missing, implementation is blocked until the checkpoint
|
|
110
|
+
and lifecycle state are corrected.
|
|
111
|
+
|
|
112
|
+
## Pre-Implementation Violation Handling
|
|
113
|
+
|
|
114
|
+
If an implementation action is attempted before a required orchestration gate
|
|
115
|
+
passes, the main session must stop implementation and persist a blocked
|
|
116
|
+
checkpoint state. The required checkpoint outcome is blocked checkpoint state.
|
|
117
|
+
The checkpoint or companion artifact must record:
|
|
118
|
+
|
|
119
|
+
- violated gate name;
|
|
120
|
+
- attempted action;
|
|
121
|
+
- known mutated files, if any;
|
|
122
|
+
- corrective next step;
|
|
123
|
+
- current route metadata, lifecycle, branch, and MCP receipt state.
|
|
124
|
+
|
|
125
|
+
After a pre-implementation gate violation, the main session must not continue
|
|
126
|
+
implementation. It may only record the violation, restore or reconcile state
|
|
127
|
+
when policy permits, and resume from the corrective orchestration step.
|
|
128
|
+
|
|
129
|
+
## Hard Enforcement Boundary
|
|
130
|
+
|
|
131
|
+
The hard completion boundary for Codex orchestration is the deterministic
|
|
132
|
+
orchestrator-state validator exposed through the `drm-copilot` MCP server, not
|
|
133
|
+
a Codex lifecycle hook. Before any DONE transition, PR creation gate, or final
|
|
134
|
+
completion report, the orchestrator must validate the canonical checkpoint with
|
|
135
|
+
`validate_orchestration_artifacts` on the `drm-copilot` MCP server using
|
|
136
|
+
`artifact_type: "orchestrator-state"`,
|
|
137
|
+
`artifact_path: "artifacts/orchestration/orchestrator-state.json"`, and
|
|
138
|
+
`require_complete: true`.
|
|
139
|
+
|
|
140
|
+
There is no fallback. If the MCP server or validation tool is unavailable, or
|
|
141
|
+
if validation fails, the orchestrator must update blocked state and stop rather
|
|
142
|
+
than reporting completion.
|
|
143
|
+
|
|
144
|
+
The repository CI gate `Orchestrator State Gate` runs the same validator when a
|
|
145
|
+
checkpoint is present. Branch protection should require this check for branches
|
|
146
|
+
that use orchestrated completion.
|
|
147
|
+
|
|
148
|
+
Completion validation requires the checkpoint to prove mandatory handoffs and
|
|
149
|
+
skill use. The checkpoint must include:
|
|
150
|
+
|
|
151
|
+
- `route_id`: the selected route key from `config/orchestration-routing.json`
|
|
152
|
+
- `required_agents`: exactly the selected route's `required_agents`
|
|
153
|
+
- `required_skills`: exactly the selected route's `required_skills`
|
|
154
|
+
- `required_mcp_tools`: exactly the selected route's `required_mcp_tools`
|
|
155
|
+
- `delegation_receipts`: one receipt for each required agent
|
|
156
|
+
- `skill_receipts`: one required receipt for each required skill, with evidence
|
|
157
|
+
- `mcp_call_receipts`: one successful receipt for each required MCP tool
|
|
158
|
+
- `local_execution_overrides`: an empty list at completion
|
|
159
|
+
- `delegation_bypasses`: an empty list at completion
|
|
160
|
+
- `lifecycle_operations`: any lifecycle operation must record `surface: "mcp"`
|
|
161
|
+
|
|
162
|
+
If any required handoff, skill receipt, MCP receipt, or empty bypass list is
|
|
163
|
+
missing, `validate_orchestration_artifacts --require-complete` fails and the
|
|
164
|
+
orchestrator must not report DONE.
|
|
165
|
+
|
|
166
|
+
## Autonomous-Execution Mandate
|
|
167
|
+
|
|
168
|
+
The orchestrator must achieve all actions agentically with no unrecorded manual
|
|
169
|
+
dependency. Every unautomatable requirement must be detected early, resolved by
|
|
170
|
+
exactly one of the permitted responses below, and recorded in checkpoint state
|
|
171
|
+
under `human_interaction.requirements[]`.
|
|
172
|
+
|
|
173
|
+
Permitted responses:
|
|
174
|
+
|
|
175
|
+
- `scope_change`: change scope to remove the manual dependency.
|
|
176
|
+
- `exception`: permit an exception only when a runbook exists and its path is
|
|
177
|
+
recorded in `runbook_path`.
|
|
178
|
+
- `halt`: halt until further instruction. A `halt` blocks DONE while present.
|
|
179
|
+
|
|
180
|
+
The checkpoint validator enforces the `human_interaction` invariants. An
|
|
181
|
+
unresolved response, invalid response value, `halt`, or exception without an
|
|
182
|
+
existing runbook path blocks completion.
|
|
33
183
|
|
|
34
184
|
## Delegation Model
|
|
35
185
|
|
|
@@ -37,12 +187,38 @@ After reading `artifacts/orchestration/orchestrator-state.json`, the main sessio
|
|
|
37
187
|
|
|
38
188
|
- `atomic-planner` — generates phased implementation plans
|
|
39
189
|
- `atomic-executor` — executes approved plans task-by-task
|
|
40
|
-
- `feature-
|
|
41
|
-
|
|
190
|
+
- `feature-reviewer` — produces policy, code, and feature audit artifacts by
|
|
191
|
+
applying the `feature-review` workflow skill
|
|
42
192
|
- `task-researcher` — performs deep research and writes findings to `artifacts/research/`
|
|
193
|
+
- `prd-feature` — produces issue, specification, and user-story artifacts when required by the selected workflow
|
|
194
|
+
- `staged-review` — reviews staged changes when a pre-commit review is required
|
|
195
|
+
- `epic-review` — reviews epic-level artifacts when the work item is an epic
|
|
196
|
+
- `status-updater` — produces status update artifacts when the workflow requires status synchronization
|
|
197
|
+
- `python-typed-engineer` — performs delegated Python implementation work
|
|
198
|
+
- `powershell-typed-engineer` — performs delegated PowerShell implementation work
|
|
199
|
+
- `csharp-typed-engineer` — performs delegated C# implementation work
|
|
200
|
+
- `typescript-engineer` — performs delegated TypeScript implementation work
|
|
201
|
+
- `commit-steward` — writes commit messages from commit-context artifacts
|
|
43
202
|
|
|
44
203
|
The orchestrator does not perform deep implementation itself. It coordinates, tracks state, and enforces completion.
|
|
45
204
|
|
|
205
|
+
Every worker listed above must exist as a native Codex agent under `.codex/agents/`.
|
|
206
|
+
For required delegated steps, missing agent configuration, failed spawn, missing
|
|
207
|
+
receipt, or missing required artifact output is a hard block. The orchestrator
|
|
208
|
+
must persist blocked state and stop rather than performing that step locally.
|
|
209
|
+
|
|
210
|
+
Every required skill listed in the selected route must be acknowledged in
|
|
211
|
+
`skill_receipts[]` with:
|
|
212
|
+
|
|
213
|
+
- `skill`
|
|
214
|
+
- `required: true`
|
|
215
|
+
- `acknowledged_at_phase`
|
|
216
|
+
- `evidence`
|
|
217
|
+
|
|
218
|
+
The evidence value must point to objective evidence: a checkpoint field, MCP
|
|
219
|
+
receipt, artifact path, validator output, or test result. A bare narrative
|
|
220
|
+
statement is not sufficient.
|
|
221
|
+
|
|
46
222
|
## Evidence Location Authority
|
|
47
223
|
|
|
48
224
|
All evidence artifacts produced during orchestration MUST comply with the canonical scheme defined in `.agents/skills/evidence-and-timestamp-conventions/SKILL.md`. Evidence MUST be written to `<FEATURE>/evidence/<kind>/` only.
|
|
@@ -66,22 +242,24 @@ The orchestrator must not report completion until:
|
|
|
66
242
|
1. All required artifacts for the selected workflow path are present on disk.
|
|
67
243
|
2. All validation gates (toolchain, acceptance criteria, audit artifacts) have passed.
|
|
68
244
|
3. The checkpoint file at `artifacts/orchestration/orchestrator-state.json` reflects the completed state.
|
|
245
|
+
4. The orchestrator-state validator passes with `--require-complete`.
|
|
69
246
|
|
|
70
|
-
## Pre-
|
|
247
|
+
## Pre-Review Commit
|
|
71
248
|
|
|
72
|
-
Before delegating to the `feature-
|
|
249
|
+
Before delegating to the `feature-reviewer` agent, the orchestrator must:
|
|
73
250
|
|
|
74
251
|
1. Stage all modified and new files: `git add -A`.
|
|
75
252
|
2. Run MCP tool `collect_commit_context` and capture the returned on-disk artifact path.
|
|
76
253
|
3. Delegate to `commit_steward` using that commit-context artifact as the authoritative staged-change input.
|
|
77
254
|
4. Commit using the generated message: `git commit -m "<generated message>"`.
|
|
78
|
-
5. Only after a successful commit may the orchestrator proceed to the
|
|
255
|
+
5. Only after a successful commit may the orchestrator proceed to the
|
|
256
|
+
`feature-reviewer` delegation.
|
|
79
257
|
|
|
80
258
|
The review subagent compares against a base branch; uncommitted changes are invisible to the diff tool and cannot be audited.
|
|
81
259
|
|
|
82
260
|
## Post-Review Outcome Evaluation
|
|
83
261
|
|
|
84
|
-
After each `feature-
|
|
262
|
+
After each `feature-reviewer` delegation returns:
|
|
85
263
|
|
|
86
264
|
1. Read the exact terminal status lines from the review result.
|
|
87
265
|
2. If the result does not include `REVIEW_STATUS: PASS` or `REVIEW_STATUS: REMEDIATION_REQUIRED`, stop and record blocked state.
|
|
@@ -96,7 +274,7 @@ A bounded loop consisting of five steps. The loop variable `remediation_pass` st
|
|
|
96
274
|
- **R2 — Preflight clearance:** Delegate to `atomic-executor` for precondition validation only (no implementation). If the executor does not return `PREFLIGHT: ALL CLEAR`, return to R1 by re-delegating to `atomic-planner` against the same remediation-plan path with the required-changes output from the executor. Only after `PREFLIGHT: ALL CLEAR` may the orchestrator advance to R3.
|
|
97
275
|
- **R3 — Remediation execution:** Delegate to `atomic-executor` with full execution authorization. Each task's toolchain loop (format → lint → type-check → test) is mandatory; no skipping.
|
|
98
276
|
- **Pre-R4 commit:** Stage all changes (`git add -A`), run MCP tool `collect_commit_context`, delegate to `commit_steward` using the resulting artifact, and commit with the generated message. Advance to R4 only after a successful commit.
|
|
99
|
-
- **R4 — Re-audit:** Refresh PR context via MCP tool `collect_pr_context`, then delegate to `feature-
|
|
277
|
+
- **R4 — Re-audit:** Refresh PR context via MCP tool `collect_pr_context`, then delegate to `feature-reviewer` with the same inputs as the original review (resolved base branch, feature folder, refreshed PR context artifacts, acceptance-criteria source). No scope narrowing. The canonical issue number line must be included.
|
|
100
278
|
- **R5 — Loop-exit decision:** If the re-audit returns `REVIEW_STATUS: PASS`, exit the loop and advance to the PR creation gate. Otherwise, record `remediation_pass` increment in the checkpoint and return to R1.
|
|
101
279
|
|
|
102
280
|
**Termination guard:** If `remediation_pass` reaches 3 without resolution, the orchestrator records `step6_status: "blocked_remediation_loop_limit"` in the checkpoint and halts. No further automation is attempted.
|
|
@@ -105,34 +283,44 @@ A bounded loop consisting of five steps. The loop variable `remediation_pass` st
|
|
|
105
283
|
|
|
106
284
|
The canonical issue number is derived once from the active feature folder name: extract the trailing integer from the folder base name (e.g., `2026-04-26-push-down-claude-customizations-162` yields `162`). Record as `issue_num` in the checkpoint.
|
|
107
285
|
|
|
108
|
-
Every delegation prompt to `atomic-planner`, `atomic-executor`, and
|
|
286
|
+
Every delegation prompt to `atomic-planner`, `atomic-executor`, and
|
|
287
|
+
`feature-reviewer` must include the line:
|
|
109
288
|
|
|
110
289
|
> `Canonical issue number for this feature is <issue_num>. All artifact content, file paths, and cross-references must use this number.`
|
|
111
290
|
|
|
112
291
|
If a subagent artifact references a different issue number, the orchestrator rejects it, requests correction, and records the discrepancy under `artifact_errors` in the checkpoint.
|
|
113
292
|
|
|
293
|
+
## CI Green Gate
|
|
294
|
+
|
|
295
|
+
Before PR/DONE completion, the orchestrator must observe the live PR head SHA
|
|
296
|
+
and required GitHub checks through `gh`. The checkpoint must record the checked
|
|
297
|
+
head SHA and CI result. DONE is blocked unless the required checks pass for the
|
|
298
|
+
current PR head SHA.
|
|
299
|
+
|
|
114
300
|
## PR Creation Gate
|
|
115
301
|
|
|
116
302
|
The orchestrator must not create a PR, push a branch for PR purposes, or report work complete until all four conditions are simultaneously true:
|
|
117
303
|
|
|
118
|
-
1. `blocking_findings_resolved: true` — the most recent `feature-
|
|
304
|
+
1. `blocking_findings_resolved: true` — the most recent `feature-reviewer`
|
|
305
|
+
result produced zero blocking findings.
|
|
119
306
|
Equivalent deterministic gate: the latest review returned `REVIEW_STATUS: PASS`.
|
|
120
307
|
2. The AC verification artifact (`p14-acceptance-criteria-checkoff.md` or equivalent) confirms all acceptance criteria pass.
|
|
121
308
|
3. The mandatory toolchain passed in its most recent run on the branch (no linting/type-check/test failures).
|
|
122
309
|
4. The checkpoint `next_step` is `S8_create_pr`.
|
|
310
|
+
5. The required CI checks pass for the current PR head SHA.
|
|
123
311
|
|
|
124
312
|
This gate is non-negotiable. Each condition is independently verified before PR creation proceeds.
|
|
125
313
|
|
|
126
314
|
## Step 6 Delegation — Prohibited Prompt Language
|
|
127
315
|
|
|
128
|
-
When delegating to the `feature-
|
|
316
|
+
When delegating to the `feature-reviewer` agent, the orchestrator prompt MUST NOT:
|
|
129
317
|
|
|
130
318
|
- describe the review scope as "plan scope," "plan-scope only," or any equivalent narrowing of scope to the currently-executed plan;
|
|
131
319
|
- instruct the agent to skip, waive, or mark as "out of scope," "informational only," or "not applicable" any toolchain step or coverage check for a language that has changed files in the branch diff;
|
|
132
320
|
- assert that a language category is "not applicable" when that language has changed files in the branch diff;
|
|
133
321
|
- imply that coverage is not required because the plan scope contains only documentation changes when the branch diff contains non-documentation changes contributed by prior commits on the same branch.
|
|
134
322
|
|
|
135
|
-
The orchestrator supplies only the following to the `feature-
|
|
323
|
+
The orchestrator supplies only the following to the `feature-reviewer` agent:
|
|
136
324
|
|
|
137
325
|
- the resolved base branch and merge-base SHA;
|
|
138
326
|
- the active feature folder path;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orchestrator-state
|
|
3
|
+
description: Orchestrator-state remediation-cycle and human-interaction invariants.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Converted rule
|
|
7
|
+
|
|
8
|
+
Source: legacy Claude rule `orchestrator-state`.
|
|
9
|
+
|
|
10
|
+
# Orchestrator-State Remediation-Cycle and Human-Interaction Invariants
|
|
11
|
+
|
|
12
|
+
This rule governs remediation-cycle records and the optional `human_interaction` block in the orchestrator-state checkpoint at `artifacts/orchestration/orchestrator-state.json`. It documents three invariants that must hold for each remediation cycle, plus three invariants for the `human_interaction` block, so that resume and review workflows do not depend on a structurally invalid checkpoint.
|
|
13
|
+
|
|
14
|
+
## Foreign Schema Warning (do not copy verbatim)
|
|
15
|
+
|
|
16
|
+
A hardened snapshot from another repository contains a JSON Schema for the orchestrator-state artifact whose `$id` references a foreign origin (`drmoisan.github.io/mix-calculator/`). That schema MUST NOT be copied verbatim into this repository: its `$id`, its top-level required-field set, and its cycle-level `additionalProperties: false` do not match this repository's checkpoint contract. The invariants below are re-expressed here as prose and enforced by validator logic in `scripts/dev_tools/validate_orchestrator_state.py`, not by importing a foreign schema file.
|
|
17
|
+
|
|
18
|
+
This prohibition is specific to the disqualified foreign schema identified by the `drmoisan.github.io/mix-calculator/` `$id`. A schema whose `$id` is repo-local and whose required-field set and `additionalProperties` policy match this repository's checkpoint contract is not the disqualified foreign artifact; even so, the repository's enforcement mechanism remains the Python validator prose-and-logic above, not an imported schema file.
|
|
19
|
+
|
|
20
|
+
## Scope and Backward Compatibility
|
|
21
|
+
|
|
22
|
+
These invariants apply only when the checkpoint contains a top-level `remediation_loop` with a `cycles` array. A checkpoint with no `remediation_loop` (the existing step-based checkpoint shape) is unaffected: it validates exactly as before and produces no new errors. The invariants are additive.
|
|
23
|
+
|
|
24
|
+
## Invariants (per remediation cycle)
|
|
25
|
+
|
|
26
|
+
1. **Non-empty `plan_path`.** Each cycle's `plan_path` must be a non-empty string. A missing value, a non-string value, or an empty/whitespace-only string is a malformed cycle.
|
|
27
|
+
|
|
28
|
+
2. **Execution requires cleared preflight.** A cycle's `execution_status` may be in `{in_progress, complete, failed}` only when that cycle's `preflight.final_status` is exactly `'clear'`. Any other preflight status with one of those execution statuses is a malformed cycle (execution was recorded before preflight cleared).
|
|
29
|
+
|
|
30
|
+
3. **Exit gate requires zero blocking findings.** When a cycle's `exit_condition_met == true`, its `blocking_count` must be `0`. A non-zero `blocking_count` with `exit_condition_met == true` is a malformed cycle (the exit gate was marked satisfied while blocking findings remained).
|
|
31
|
+
|
|
32
|
+
## Human-Interaction Scope and Backward Compatibility
|
|
33
|
+
|
|
34
|
+
These invariants apply only when the checkpoint contains a top-level `human_interaction` block. A checkpoint with no `human_interaction` key (the existing checkpoint shape) is unaffected: it validates exactly as before and produces no new errors. The invariants are additive and support the autonomous-execution mandate documented in `.agents/skills/orchestrate/SKILL.md`.
|
|
35
|
+
|
|
36
|
+
## Invariants (human_interaction block)
|
|
37
|
+
|
|
38
|
+
1. **Required `requirements` list.** When `human_interaction` is present, it must be an object containing a `requirements` list. A non-object `human_interaction`, or a `requirements` value that is not a list, is a malformed block.
|
|
39
|
+
|
|
40
|
+
2. **Per-requirement `response` enum membership.** Each requirement must be an object whose `response` value is one of `scope_change`, `exception`, or `halt`. A requirement that is not an object, or whose `response` is outside this enum, is a malformed requirement.
|
|
41
|
+
|
|
42
|
+
3. **Exception requires `runbook_path`.** A requirement whose `response == "exception"` must carry a non-empty `runbook_path` string. A missing, non-string, or empty/whitespace-only `runbook_path` on an `exception` requirement is a malformed requirement.
|
|
43
|
+
|
|
44
|
+
## Enforcement
|
|
45
|
+
|
|
46
|
+
- `scripts/dev_tools/validate_orchestrator_state.py` appends one error per violated invariant when a `remediation_loop` is present, using the existing validator message style (literal, checkpoint-context prefixed). The validator returns a list of error strings and does not mutate its input.
|
|
47
|
+
- `scripts/dev_tools/validate_orchestrator_state.py` likewise appends one error per violated `human_interaction` invariant when a `human_interaction` key is present, using the same literal, checkpoint-context-prefixed message style. The check does not import or read any schema file.
|
|
48
|
+
- The validator is consumed by the MCP tool `validate_orchestration_artifacts`; backward compatibility for existing step-based checkpoints is preserved.
|
package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md
CHANGED
|
@@ -30,11 +30,22 @@ Use as needed:
|
|
|
30
30
|
- Required delegated specialists:
|
|
31
31
|
- `atomic-planner`
|
|
32
32
|
- `atomic-executor`
|
|
33
|
+
- `feature-review`
|
|
33
34
|
- `feature-reviewer`
|
|
35
|
+
- `task-researcher`
|
|
36
|
+
- `prd-feature`
|
|
37
|
+
- `staged-review`
|
|
38
|
+
- `epic-review`
|
|
39
|
+
- `status-updater`
|
|
40
|
+
- `python-typed-engineer`
|
|
41
|
+
- `powershell-typed-engineer`
|
|
42
|
+
- `csharp-typed-engineer`
|
|
43
|
+
- `typescript-engineer`
|
|
34
44
|
- `commit-steward`
|
|
35
45
|
- Deterministic availability rule:
|
|
36
|
-
- if the host exposes `spawn_agent
|
|
46
|
+
- if the host exposes `spawn_agent` and the required `.codex/agents/<name>.toml` file exists, treat that delegated specialist as available,
|
|
37
47
|
- do not infer unavailability from missing nicknames, missing prior agent instances, or lack of a dedicated launcher alias.
|
|
48
|
+
- Every required delegated specialist must exist as a native Codex agent under `.codex/agents/`. If a required agent file is missing, set `blocked_reason` to `spawn_agent_unavailable` and stop.
|
|
38
49
|
- Required delegated steps MUST delegate or stop execution.
|
|
39
50
|
- If a required delegated handoff cannot be started, resumed, or completed with a receipt, persist blocked state and stop. Do not perform that step directly.
|
|
40
51
|
- Direct local execution is allowed only for workflow steps that are not designated below as required delegated handoffs.
|
|
@@ -44,12 +55,18 @@ Use as needed:
|
|
|
44
55
|
Canonical checkpoint path:
|
|
45
56
|
- `artifacts/orchestration/orchestrator-state.json`
|
|
46
57
|
|
|
58
|
+
Canonical route matrix:
|
|
59
|
+
- `config/orchestration-routing.json`
|
|
60
|
+
|
|
47
61
|
Persist and reuse these fields exactly:
|
|
48
62
|
- `objective`
|
|
49
63
|
- `change_budget_estimate`
|
|
50
64
|
- `path_selected`
|
|
51
65
|
- `promotion-type`
|
|
52
66
|
- `short-name`
|
|
67
|
+
- `pre-issue-branch`
|
|
68
|
+
- `final-branch`
|
|
69
|
+
- `branch-rename-status`
|
|
53
70
|
- `relativeFile`
|
|
54
71
|
- `long-name`
|
|
55
72
|
- `issue-num`
|
|
@@ -73,6 +90,16 @@ Persist and reuse these fields exactly:
|
|
|
73
90
|
- `step10_status`
|
|
74
91
|
- `delegation_receipts`
|
|
75
92
|
- `blocked_reason`
|
|
93
|
+
- `route_id`
|
|
94
|
+
- `required_agents`
|
|
95
|
+
- `required_skills`
|
|
96
|
+
- `required_mcp_tools`
|
|
97
|
+
- `skill_receipts`
|
|
98
|
+
- `mcp_call_receipts`
|
|
99
|
+
- `local_execution_overrides`
|
|
100
|
+
- `delegation_bypasses`
|
|
101
|
+
- `lifecycle_operations`
|
|
102
|
+
- `pre-implementation-violation`
|
|
76
103
|
|
|
77
104
|
For small-path runs, also persist:
|
|
78
105
|
- `bootstrap_mode`
|
|
@@ -103,6 +130,15 @@ Blocked-reason enum:
|
|
|
103
130
|
- `review_status_missing`
|
|
104
131
|
- `commit_context_missing`
|
|
105
132
|
- `no_staged_changes`
|
|
133
|
+
- `pre_implementation_gate_violation`
|
|
134
|
+
|
|
135
|
+
Pre-implementation violation schema:
|
|
136
|
+
- `pre-implementation-violation` MUST be either `null` or an object with:
|
|
137
|
+
- `violated_gate`
|
|
138
|
+
- `attempted_action`
|
|
139
|
+
- `known_mutated_files`
|
|
140
|
+
- `corrective_next_step`
|
|
141
|
+
- `recorded_at`
|
|
106
142
|
|
|
107
143
|
Delegation receipt schema:
|
|
108
144
|
- `delegation_receipts` MUST be a list of objects with:
|
|
@@ -115,6 +151,32 @@ Delegation receipt schema:
|
|
|
115
151
|
- `result_signal`
|
|
116
152
|
- `artifact_paths`
|
|
117
153
|
|
|
154
|
+
Skill receipt schema:
|
|
155
|
+
- `skill_receipts` MUST be a list of objects with:
|
|
156
|
+
- `skill`
|
|
157
|
+
- `required`
|
|
158
|
+
- `acknowledged_at_phase`
|
|
159
|
+
- `evidence`
|
|
160
|
+
|
|
161
|
+
MCP receipt schema:
|
|
162
|
+
- `mcp_call_receipts` MUST be a list of objects with:
|
|
163
|
+
- `tool`
|
|
164
|
+
- `ok`
|
|
165
|
+
- `evidence`
|
|
166
|
+
|
|
167
|
+
Completion-state invariants:
|
|
168
|
+
- `route_id` MUST identify an entry in `config/orchestration-routing.json`.
|
|
169
|
+
- `required_agents`, `required_skills`, and `required_mcp_tools` MUST exactly
|
|
170
|
+
match the selected route matrix entry.
|
|
171
|
+
- every required agent MUST have a matching `delegation_receipts[].agent_name`.
|
|
172
|
+
- every required skill MUST have a matching required `skill_receipts[].skill`
|
|
173
|
+
with non-empty evidence.
|
|
174
|
+
- every required MCP tool MUST have a successful `mcp_call_receipts[].tool`
|
|
175
|
+
receipt with non-empty evidence.
|
|
176
|
+
- `local_execution_overrides` and `delegation_bypasses` MUST be empty lists at
|
|
177
|
+
completion.
|
|
178
|
+
- every recorded `lifecycle_operations[]` item MUST use `surface: "mcp"`.
|
|
179
|
+
|
|
118
180
|
Required-delegation step map:
|
|
119
181
|
- small path:
|
|
120
182
|
- Step 5 -> `atomic-planner`
|
|
@@ -170,6 +232,9 @@ If an exact signal or required path field is missing, set the relevant step to `
|
|
|
170
232
|
4. If the scope is primarily PowerShell, use `powershell-change-budget-router`.
|
|
171
233
|
5. If the scope is mixed-language, ambiguous, or unsupported by an existing change-budget router, fail closed to the large path.
|
|
172
234
|
6. Treat any request outside the applicable small-path budget as large path.
|
|
235
|
+
7. Select `route_id` from `config/orchestration-routing.json` and persist the
|
|
236
|
+
exact required agent, skill, and MCP lists from the matrix before starting
|
|
237
|
+
lifecycle automation.
|
|
173
238
|
|
|
174
239
|
## Small Path
|
|
175
240
|
|
|
@@ -181,10 +246,12 @@ Required behavior:
|
|
|
181
246
|
2. Use `feature-promotion-lifecycle` as the source of truth for lifecycle variables, branch naming, and `${plan-path}` resolution.
|
|
182
247
|
3. Route all promotion, issue, and feature-folder automation through `repo-automation-adapter`.
|
|
183
248
|
4. Enforce lifecycle preconditions before any active-folder authoring:
|
|
249
|
+
- route metadata persistence must be complete in the canonical checkpoint before potential-entry creation
|
|
250
|
+
- `${pre-issue-branch}` must be created or verified before potential-entry creation
|
|
184
251
|
- `${relativeFile}` must resolve to a real potential markdown path and must not be `NONE`, `TBD`, or empty
|
|
185
|
-
- issue
|
|
186
|
-
-
|
|
187
|
-
- do not create or edit `${feature-folder}/issue.md`, `${feature-folder}/spec.md`, `${feature-folder}/user-story.md`, or `plan*.md` until promotion and folder creation
|
|
252
|
+
- `${issue-num}` must be numeric before final branch rename or `new_active_feature_folder` runs
|
|
253
|
+
- final branch rename must complete before `new_active_feature_folder` runs
|
|
254
|
+
- do not create or edit `${feature-folder}/issue.md`, `${feature-folder}/spec.md`, `${feature-folder}/user-story.md`, or `plan*.md` until potential-entry creation, promotion, final branch rename, and folder creation all succeed
|
|
188
255
|
- if any lifecycle precondition fails, set the relevant step status to `blocked`, set `blocked_reason` to `lifecycle_preconditions_missing`, and stop
|
|
189
256
|
5. Enforce minor-audit folder integrity:
|
|
190
257
|
- `${feature-folder}/issue.md` must exist
|
|
@@ -199,7 +266,8 @@ Required behavior:
|
|
|
199
266
|
7. Spawn `atomic-executor` to execute Phase 0 only.
|
|
200
267
|
- Record a delegation receipt and set `step6_status` to `verified` before branching
|
|
201
268
|
- If the handoff cannot be started or does not return a receipt, set `step6_status` to `blocked`, set `blocked_reason`, and stop
|
|
202
|
-
8. If the request
|
|
269
|
+
8. If and only if the initial user request explicitly opted into manual orchestration from the beginning, persist the resume checkpoint and stop after Phase 0.
|
|
270
|
+
- Otherwise manual bootstrap is prohibited; continue automated execution.
|
|
203
271
|
9. Otherwise continue with constrained implementation:
|
|
204
272
|
- steps that are not modeled as required delegated handoffs may execute directly while staying within the approved plan and applicable repo policy
|
|
205
273
|
10. Validate the delivered work against `${feature-folder}/issue.md` and persist plan or acceptance-criteria checkoffs before review.
|
|
@@ -227,10 +295,12 @@ Required behavior:
|
|
|
227
295
|
2. Use `feature-promotion-lifecycle` as the source of truth for lifecycle variables, branch naming, and `${plan-path}` resolution.
|
|
228
296
|
3. Route all promotion, issue, and feature-folder automation through `repo-automation-adapter`.
|
|
229
297
|
4. Enforce lifecycle preconditions before any active-folder authoring:
|
|
298
|
+
- route metadata persistence must be complete in the canonical checkpoint before potential-entry creation
|
|
299
|
+
- `${pre-issue-branch}` must be created or verified before potential-entry creation
|
|
230
300
|
- `${relativeFile}` must resolve to a real potential markdown path and must not be `NONE`, `TBD`, or empty
|
|
231
|
-
- issue
|
|
232
|
-
-
|
|
233
|
-
- do not create or edit `${feature-folder}/issue.md`, `${feature-folder}/spec.md`, `${feature-folder}/user-story.md`, or `plan*.md` until promotion and folder creation
|
|
301
|
+
- `${issue-num}` must be numeric before final branch rename or `new_active_feature_folder` runs
|
|
302
|
+
- final branch rename must complete before `new_active_feature_folder` runs
|
|
303
|
+
- do not create or edit `${feature-folder}/issue.md`, `${feature-folder}/spec.md`, `${feature-folder}/user-story.md`, or `plan*.md` until potential-entry creation, promotion, final branch rename, and folder creation all succeed
|
|
234
304
|
- if any lifecycle precondition fails, set the relevant step status to `blocked`, set `blocked_reason` to `lifecycle_preconditions_missing`, and stop
|
|
235
305
|
5. Complete the requirements-authoring steps before planning:
|
|
236
306
|
- fill the potential entry details
|
|
@@ -287,10 +357,15 @@ Do not claim mission completion until all of the following are true:
|
|
|
287
357
|
|
|
288
358
|
- the selected path completed end to end
|
|
289
359
|
- all required delegations completed with receipts
|
|
360
|
+
- all required skills have `skill_receipts` with evidence
|
|
361
|
+
- all required MCP tools have successful `mcp_call_receipts`
|
|
362
|
+
- no local execution override or delegation bypass is recorded
|
|
290
363
|
- the checkpoint is updated with the final state
|
|
291
364
|
- the canonical checkpoint path was used without sidecar replacement or backup substitution
|
|
292
365
|
- `${relativeFile}` is a real promoted-input path and `${issue-num}` is numeric when lifecycle setup was required
|
|
293
366
|
- `${feature-folder}` and `${plan-path}` are known when lifecycle setup was required
|
|
367
|
+
- route metadata, selected work mode, branch state, lifecycle receipts, and
|
|
368
|
+
folder readiness are present before implementation begins
|
|
294
369
|
- the approved plan is executor-compliant and references the required baseline and final-QA evidence tasks
|
|
295
370
|
- required review artifacts exist on disk
|
|
296
371
|
- small path has Phase 0 evidence plus reduced audit artifacts
|
|
@@ -299,6 +374,8 @@ Do not claim mission completion until all of the following are true:
|
|
|
299
374
|
- any required remediation artifacts exist on disk and the latest re-review is clean
|
|
300
375
|
- any required remediation loop run also includes a remediation execution receipt, a remediation commit receipt, and a final `REVIEW_STATUS: PASS`
|
|
301
376
|
- validator-backed checks for the approved plan, policy audit, code review, feature audit, and checkpoint state pass
|
|
377
|
+
- the canonical checkpoint passes `validate_orchestration_artifacts` with `artifact_type: "orchestrator-state"` and `require_complete: true`
|
|
378
|
+
- required GitHub checks pass for the current PR head SHA before PR/DONE completion
|
|
302
379
|
|
|
303
380
|
## Hard Constraints
|
|
304
381
|
|
|
@@ -308,10 +385,17 @@ Do not claim mission completion until all of the following are true:
|
|
|
308
385
|
- Do not bypass `repo-automation-adapter` for host-specific lifecycle steps.
|
|
309
386
|
- Do not rename, back up, or create sidecar checkpoint files to avoid using the canonical checkpoint path.
|
|
310
387
|
- Do not proceed when the canonical checkpoint belongs to another in-progress mission; stop and report the conflict.
|
|
311
|
-
- Do not create or edit active feature docs before
|
|
312
|
-
-
|
|
388
|
+
- Do not create or edit active feature docs before route metadata persistence,
|
|
389
|
+
pre-issue branch setup, potential-entry creation, issue promotion, final branch
|
|
390
|
+
rename, and active-folder creation succeed.
|
|
391
|
+
- Do not call `new_active_feature_folder` before `${issue-num}` is numeric,
|
|
392
|
+
backed by promotion output, and the final branch rename is complete.
|
|
393
|
+
- Do not begin implementation edits, formatters, tests, staging, commits, or
|
|
394
|
+
implementation delegation when route metadata, branch state, lifecycle
|
|
395
|
+
receipts, or folder readiness are missing.
|
|
313
396
|
- Do not persist placeholder lifecycle values such as `NONE` or `TBD` for `${relativeFile}`, `${issue-num}`, `${feature-folder}`, or `${plan-path}` once lifecycle setup begins.
|
|
314
397
|
- Do not create replacement audit artifacts yourself for any required delegated review step.
|
|
315
398
|
- Do not execute required delegated steps locally as a fallback.
|
|
316
399
|
- Do not accept stale PR-context artifacts, unsupported checklist checkoffs, or missing required evidence as PASS outcomes.
|
|
400
|
+
- Do not treat Codex lifecycle hooks as the hard completion boundary; use deterministic validator and CI gates for completion enforcement.
|
|
317
401
|
- Do not claim completion without reporting the checkpoint path and the created or updated artifact paths.
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
# Converted skill
|
|
2
|
-
|
|
3
|
-
Applied rewrites:
|
|
4
|
-
- None
|
|
5
|
-
|
|
6
1
|
---
|
|
7
2
|
name: policy-audit-template-usage
|
|
8
3
|
description: 'Policy audit template usage and output requirements. Use when creating policy-audit.<timestamp>.md artifacts from the repo templates.'
|
|
@@ -20,13 +15,13 @@ Use this skill when:
|
|
|
20
15
|
|
|
21
16
|
## Template Source
|
|
22
17
|
|
|
23
|
-
- Required template source: the MCP server tool `
|
|
18
|
+
- Required template source: the MCP server tool `mcp__drm-copilot__resolve_policy_audit_template_asset` with asset selector `template`.
|
|
24
19
|
- The resolved MCP asset is authoritative even when a matching repo file also exists.
|
|
25
20
|
- If MCP asset resolution fails, create a minimal policy audit artifact marked BLOCKED and document the missing template resolution.
|
|
26
21
|
|
|
27
22
|
## Required Steps
|
|
28
23
|
|
|
29
|
-
1) Resolve the policy-audit template through the MCP server tool `
|
|
24
|
+
1) Resolve the policy-audit template through the MCP server tool `mcp__drm-copilot__resolve_policy_audit_template_asset` with asset `template`, then copy the resolved asset to the target location using an ISO-8601 timestamp.
|
|
30
25
|
2) Replace placeholders with actual values (component, date, files under test, commits).
|
|
31
26
|
3) Remove any template usage instructions per template guidance.
|
|
32
27
|
4) Mark each section PASS/FAIL/N/A using the template’s expected conventions.
|
|
@@ -44,7 +39,7 @@ Use this skill when:
|
|
|
44
39
|
- `## 10. Compliance Verdict`
|
|
45
40
|
- `## Appendix A: Test Inventory`
|
|
46
41
|
- `## Appendix B: Toolchain Commands Reference`
|
|
47
|
-
6) Run the `
|
|
42
|
+
6) Run the `mcp__drm-copilot__validate_orchestration_artifacts` MCP tool with `artifact_type: "policy-audit"` and `artifact_path: <path>` and fail closed on any non-zero result.
|
|
48
43
|
|
|
49
44
|
## Invalid Outputs
|
|
50
45
|
|
package/resources/codex-and-agents-customizations/.agents/skills/policy-compliance-order/SKILL.md
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
# Converted skill
|
|
2
|
-
|
|
3
|
-
Applied rewrites:
|
|
4
|
-
- Rewrite merged standing-guidance source paths to the native AGENTS.md target.
|
|
5
|
-
- Rewrite merged standing-guidance source paths to the native AGENTS.md target.
|
|
6
|
-
- Rewrite merged standing-guidance source paths to the native AGENTS.md target.
|
|
7
|
-
- Rewrite GitHub Copilot instruction-directory references to the native skill root.
|
|
8
|
-
- Rewrite Claude rule paths to shared skill paths.
|
|
9
|
-
- Rewrite Claude rules-directory references to the native skill root.
|
|
10
|
-
|
|
11
1
|
---
|
|
12
2
|
name: policy-compliance-order
|
|
13
3
|
description: 'Repository policy compliance order and hard constraints. Use when an agent must read mandatory policy files, apply repo-wide constraints, or restate policy precedence without duplicating blocks across agents.'
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
# Converted skill
|
|
2
|
-
|
|
3
|
-
Applied rewrites:
|
|
4
|
-
- None
|
|
5
|
-
|
|
6
1
|
---
|
|
2
|
+
name: powershell
|
|
7
3
|
paths:
|
|
8
4
|
- "**/*.ps1"
|
|
9
5
|
- "**/*.psm1"
|
|
@@ -17,10 +13,10 @@ This rule file summarizes the PowerShell-specific policies for this repository.
|
|
|
17
13
|
|
|
18
14
|
## Toolchain
|
|
19
15
|
|
|
20
|
-
1. **Formatting — Invoke-Formatter**: Format all PowerShell files via PoshQC. MCP command: `
|
|
21
|
-
2. **Linting — PSScriptAnalyzer**: Run PoshQC analyzer with repo settings. MCP command: `
|
|
16
|
+
1. **Formatting — Invoke-Formatter**: Format all PowerShell files via PoshQC. MCP command: `mcp__drm-copilot__run_poshqc_format`
|
|
17
|
+
2. **Linting — PSScriptAnalyzer**: Run PoshQC analyzer with repo settings. MCP command: `mcp__drm-copilot__run_poshqc_analyze`. Optional autofix: `mcp__drm-copilot__run_poshqc_analyze_autofix`
|
|
22
18
|
3. **Type checking**: Not applicable for PowerShell; skip to testing.
|
|
23
|
-
4. **Testing — Pester (v5.x)**: Run tests via MCP. MCP command: `
|
|
19
|
+
4. **Testing — Pester (v5.x)**: Run tests via MCP. MCP command: `mcp__drm-copilot__run_poshqc_test`. Use repo config at `scripts/powershell/PoshQC/settings/pester.runsettings.psd1`.
|
|
24
20
|
|
|
25
21
|
Run the toolchain in order: format → analyze → test. Restart from step 1 if any step fails or changes files. Use the MCP server functions; do not substitute VS Code task wrappers.
|
|
26
22
|
|