@danmoisan/drm-copilot-mcp 1.1.18 → 1.1.20
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 +1149 -661
- package/package.json +3 -2
- package/resources/claude-customizations/.claude/agents/atomic-executor.md +28 -6
- package/resources/claude-customizations/.claude/agents/atomic-planner.md +20 -2
- package/resources/claude-customizations/.claude/agents/epic-orchestrator.md +17 -4
- package/resources/claude-customizations/.claude/agents/epic-planner.md +5 -4
- package/resources/claude-customizations/.claude/agents/feature-review.md +6 -4
- package/resources/claude-customizations/.claude/agents/orchestrator.md +9 -5
- package/resources/claude-customizations/.claude/agents/parallel-orchestrator.md +35 -13
- package/resources/claude-customizations/.claude/agents/parallel-planner.md +9 -6
- package/resources/claude-customizations/.claude/agents/pr-author.md +15 -2
- package/resources/claude-customizations/.claude/agents/prd-feature.md +1 -1
- package/resources/claude-customizations/.claude/agents/task-researcher.md +8 -0
- package/resources/claude-customizations/.claude/hooks/check-powershell-test-purity.ps1 +7 -1
- package/resources/claude-customizations/.claude/hooks/check-python-test-purity.ps1 +7 -1
- package/resources/claude-customizations/.claude/hooks/enforce-checkpoint-monotonic.ps1 +7 -1
- package/resources/claude-customizations/.claude/hooks/enforce-completion-consistency.ps1 +111 -46
- package/resources/claude-customizations/.claude/hooks/enforce-completion-helpers.ps1 +105 -0
- package/resources/claude-customizations/.claude/hooks/enforce-discovery-artifact-gate.ps1 +8 -1
- package/resources/claude-customizations/.claude/hooks/enforce-epic-invocation-origin.ps1 +7 -1
- package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate-command.ps1 +190 -0
- package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate-resolution.ps1 +116 -59
- package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate.ps1 +78 -77
- package/resources/claude-customizations/.claude/hooks/enforce-epic-wave-barrier.ps1 +74 -75
- package/resources/claude-customizations/.claude/hooks/enforce-epic-worktree-removal-gate-resolution.ps1 +127 -35
- package/resources/claude-customizations/.claude/hooks/enforce-epic-worktree-removal-gate.ps1 +61 -57
- package/resources/claude-customizations/.claude/hooks/enforce-evidence-locations.ps1 +7 -1
- package/resources/claude-customizations/.claude/hooks/enforce-feature-folder-order.ps1 +129 -39
- package/resources/claude-customizations/.claude/hooks/enforce-mermaid-validation.ps1 +7 -1
- package/resources/claude-customizations/.claude/hooks/enforce-model-routing-receipt.ps1 +9 -3
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-epic-scope.ps1 +39 -51
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-helpers.ps1 +31 -58
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-modes.ps1 +63 -47
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-targets.ps1 +433 -0
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate.ps1 +17 -12
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-abandon-gate.ps1 +9 -3
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-cohort-barrier.ps1 +65 -50
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-drift-gate.ps1 +49 -42
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-worktree-removal-gate.ps1 +54 -72
- package/resources/claude-customizations/.claude/hooks/enforce-powershell-batch-budget.ps1 +8 -2
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-command-allowlist.ps1 +279 -0
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill-helpers.ps1 +129 -75
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.artifact-root.ps1 +233 -0
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.docs-only.ps1 +224 -0
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.ps1 +69 -24
- package/resources/claude-customizations/.claude/hooks/enforce-prd-feature-before-planner-helpers.ps1 +29 -18
- package/resources/claude-customizations/.claude/hooks/enforce-prd-feature-before-planner.ps1 +10 -4
- package/resources/claude-customizations/.claude/hooks/enforce-promotion-mcp-only.ps1 +14 -5
- package/resources/claude-customizations/.claude/hooks/enforce-python-batch-budget.ps1 +8 -2
- package/resources/claude-customizations/.claude/hooks/feature-folder-resolution.ps1 +373 -0
- package/resources/claude-customizations/.claude/hooks/feature-review-coverage-thresholds.ps1 +85 -0
- package/resources/claude-customizations/.claude/hooks/hook-command-heredoc.ps1 +119 -0
- package/resources/claude-customizations/.claude/hooks/hook-command-invocation-operands.ps1 +198 -0
- package/resources/claude-customizations/.claude/hooks/hook-command-invocation.ps1 +254 -255
- package/resources/claude-customizations/.claude/hooks/hook-command-payload-powershell.ps1 +201 -0
- package/resources/claude-customizations/.claude/hooks/hook-command-payload.ps1 +484 -0
- package/resources/claude-customizations/.claude/hooks/hook-command-scanner.ps1 +27 -110
- package/resources/claude-customizations/.claude/hooks/hook-dependency-guard.ps1 +114 -0
- package/resources/claude-customizations/.claude/hooks/hook-docs-only-diff.ps1 +497 -0
- package/resources/claude-customizations/.claude/hooks/premortem-section.ps1 +149 -0
- package/resources/claude-customizations/.claude/hooks/subagentstop-envelope.ps1 +192 -0
- package/resources/claude-customizations/.claude/hooks/validate-bash.ps1 +9 -3
- package/resources/claude-customizations/.claude/hooks/validate-discovery-artifact-gate.ps1 +40 -42
- package/resources/claude-customizations/.claude/hooks/validate-executor-output.ps1 +267 -113
- package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage-metrics.ps1 +180 -0
- package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage-rules.ps1 +195 -0
- package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage.ps1 +141 -395
- package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output-resolution.ps1 +311 -0
- package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output-routing.ps1 +170 -0
- package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output.ps1 +115 -190
- package/resources/claude-customizations/.claude/hooks/validate-planner-output.ps1 +77 -33
- package/resources/claude-customizations/.claude/hooks/validate-pr-author-output.ps1 +39 -44
- package/resources/claude-customizations/.claude/hooks/validate-prd-feature-output.ps1 +43 -14
- package/resources/claude-customizations/.claude/hooks/validate-required-artifact-output.ps1 +66 -36
- package/resources/claude-customizations/.claude/hooks/validate-task-researcher-output.ps1 +52 -36
- package/resources/claude-customizations/.claude/lib/bash/mutate-parallel-run.sh +191 -0
- package/resources/claude-customizations/.claude/lib/bash/parallel-cohorts.sh +13 -3
- package/resources/claude-customizations/.claude/lib/bash/parallel-mutation-cli.sh +152 -0
- package/resources/claude-customizations/.claude/lib/bash/parallel-mutation-ops.sh +193 -0
- package/resources/claude-customizations/.claude/lib/bash/parallel-mutation.sh +322 -0
- package/resources/claude-customizations/.claude/lib/bash/remove-parallel-item.sh +146 -0
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusExtraction.psm1 +23 -33
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusTokenShape.psm1 +86 -6
- package/resources/claude-customizations/.claude/lib/ci-gate/Invoke-CiGateParser.ps1 +91 -19
- package/resources/claude-customizations/.claude/lib/ci-gate/Invoke-MergeConfirmationParser.ps1 +203 -0
- package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateEpicWaveBarrier.psm1 +346 -0
- package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateIssueAdoption.psm1 +24 -3
- package/resources/claude-customizations/.claude/lib/worktree-resolution/WorktreeItemResolution.psm1 +79 -2
- package/resources/claude-customizations/.claude/lib/worktree-resolution/WorktreeRunResolution.psm1 +3 -3
- package/resources/claude-customizations/.claude/rules/architecture-boundaries.md +5 -5
- package/resources/claude-customizations/.claude/rules/csharp.md +2 -2
- package/resources/claude-customizations/.claude/rules/general-code-change.md +1 -1
- package/resources/claude-customizations/.claude/rules/general-unit-test.md +3 -2
- package/resources/claude-customizations/.claude/rules/orchestrator-state.md +37 -4
- package/resources/claude-customizations/.claude/rules/parallel-orchestration.md +50 -5
- package/resources/claude-customizations/.claude/rules/plan-acceptance-gates.md +85 -10
- package/resources/claude-customizations/.claude/rules/quality-tiers.md +11 -7
- package/resources/claude-customizations/.claude/rules/shell.md +10 -8
- package/resources/claude-customizations/.claude/rules/typescript.md +1 -1
- package/resources/claude-customizations/.claude/settings.json +3 -4
- package/resources/claude-customizations/.claude/skills/acceptance-criteria-tracking/SKILL.md +1 -1
- package/resources/claude-customizations/.claude/skills/atomic-plan-contract/SKILL.md +52 -16
- package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/SKILL.md +7 -3
- package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_detached_lib.sh +1 -1
- package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_enumerate_lib.sh +2 -0
- package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/scripts/cleanup_worktrees_scan_helper.sh +2 -0
- package/resources/claude-customizations/.claude/skills/csharp-change-budget-router/SKILL.md +2 -2
- package/resources/claude-customizations/.claude/skills/epic-orchestrate/SKILL.md +45 -9
- package/resources/claude-customizations/.claude/skills/epic-plan/SKILL.md +5 -3
- package/resources/claude-customizations/.claude/skills/evidence-and-timestamp-conventions/SKILL.md +10 -1
- package/resources/claude-customizations/.claude/skills/execution-environment/SKILL.md +134 -0
- package/resources/claude-customizations/.claude/skills/feature-promotion-lifecycle/SKILL.md +1 -1
- package/resources/claude-customizations/.claude/skills/feature-review-workflow/SKILL.md +4 -3
- package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +36 -15
- package/resources/claude-customizations/.claude/skills/parallel-add/SKILL.md +52 -14
- package/resources/claude-customizations/.claude/skills/parallel-close/SKILL.md +22 -9
- package/resources/claude-customizations/.claude/skills/parallel-orchestrate/SKILL.md +108 -21
- package/resources/claude-customizations/.claude/skills/parallel-plan/SKILL.md +63 -7
- package/resources/claude-customizations/.claude/skills/parallel-remove/SKILL.md +35 -12
- package/resources/claude-customizations/.claude/skills/powershell-change-budget-router/SKILL.md +1 -1
- package/resources/claude-customizations/.claude/skills/pr-author/SKILL.md +3 -1
- package/resources/claude-customizations/.claude/skills/python-change-budget-router/SKILL.md +1 -1
- package/resources/claude-customizations/.claude/skills/quota-throttling/SKILL.md +1 -1
- package/resources/claude-customizations/.claude/skills/remediation-handoff-atomic-planner/SKILL.md +16 -8
- package/resources/claude-customizations/.claude/skills/research-issue/SKILL.md +6 -0
- package/resources/claude-customizations/pack-manifests/core.json +27 -0
- package/resources/codex-and-agents-customizations/.agents/skills/README.md +1 -0
- package/resources/codex-and-agents-customizations/.agents/skills/acceptance-criteria-tracking/SKILL.md +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/architecture-boundaries/SKILL.md +5 -5
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-executor/SKILL.md +19 -7
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-plan-contract/SKILL.md +43 -4
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-planner/SKILL.md +18 -6
- package/resources/codex-and-agents-customizations/.agents/skills/csharp/SKILL.md +2 -2
- package/resources/codex-and-agents-customizations/.agents/skills/csharp-change-budget-router/SKILL.md +2 -2
- package/resources/codex-and-agents-customizations/.agents/skills/csharp-qa-gate/SKILL.md +2 -2
- package/resources/codex-and-agents-customizations/.agents/skills/epic-orchestrate/SKILL.md +16 -1
- package/resources/codex-and-agents-customizations/.agents/skills/epic-plan/SKILL.md +17 -1
- package/resources/codex-and-agents-customizations/.agents/skills/epic-run/SKILL.md +2 -1
- package/resources/codex-and-agents-customizations/.agents/skills/evidence-and-timestamp-conventions/SKILL.md +10 -1
- package/resources/codex-and-agents-customizations/.agents/skills/execution-environment/SKILL.md +134 -0
- package/resources/codex-and-agents-customizations/.agents/skills/feature-review-workflow/SKILL.md +13 -5
- package/resources/codex-and-agents-customizations/.agents/skills/general-code-change/SKILL.md +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/general-unit-test/SKILL.md +3 -2
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrate/SKILL.md +27 -8
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/powershell-change-budget-router/SKILL.md +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/python-change-budget-router/SKILL.md +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/quality-tiers/SKILL.md +11 -7
- package/resources/codex-and-agents-customizations/.agents/skills/remediation-handoff-atomic-planner/SKILL.md +7 -3
- package/resources/codex-and-agents-customizations/.agents/skills/research-issue/SKILL.md +6 -0
- package/resources/codex-and-agents-customizations/.agents/skills/translate-claude-to-codex/SKILL.md +1 -1
- package/resources/codex-and-agents-customizations/.agents-variants/csharp-legacy/skills/csharp/SKILL.md +2 -2
- package/resources/codex-and-agents-customizations/.agents-variants/csharp-legacy/skills/csharp-qa-gate/SKILL.md +2 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c1.toml +21 -6
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c2.toml +21 -6
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3-elevated.toml +21 -6
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3.toml +21 -6
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c4.toml +21 -6
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor.toml +21 -6
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c1.toml +15 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c2.toml +15 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c3-elevated.toml +15 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c3.toml +15 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner-c4.toml +15 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner.toml +15 -2
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planning.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-atomic-planning.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/epic-orchestrator.toml +4 -1
- package/resources/codex-and-agents-customizations/.codex/agents/feature-review.toml +6 -6
- package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c1.toml +7 -4
- package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c2.toml +7 -4
- package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c3-elevated.toml +7 -4
- package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c3.toml +7 -4
- package/resources/codex-and-agents-customizations/.codex/agents/orchestrator-c4.toml +7 -4
- package/resources/codex-and-agents-customizations/.codex/agents/orchestrator.toml +7 -4
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-planning.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-atomic-planning.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/task-researcher-c1.toml +6 -0
- package/resources/codex-and-agents-customizations/.codex/agents/task-researcher-c2.toml +6 -0
- package/resources/codex-and-agents-customizations/.codex/agents/task-researcher-c3-elevated.toml +6 -0
- package/resources/codex-and-agents-customizations/.codex/agents/task-researcher-c3.toml +6 -0
- package/resources/codex-and-agents-customizations/.codex/agents/task-researcher-c4.toml +6 -0
- package/resources/codex-and-agents-customizations/.codex/agents/task-researcher.toml +6 -0
- package/resources/codex-and-agents-customizations/.codex/codex-web-setup.sh +318 -273
- package/resources/codex-and-agents-customizations/.codex/config.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/check-powershell-test-purity.ps1 +7 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/check-python-test-purity.ps1 +7 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/codex-epic-child-launch-attestation.ps1 +1 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-checkpoint-monotonic.ps1 +7 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-codex-model-routing.ps1 +8 -2
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-completion-consistency.ps1 +97 -44
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-completion-helpers.ps1 +105 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-child-worktree-binding.ps1 +7 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-merge-gate-command.ps1 +190 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-merge-gate.ps1 +54 -43
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-planning-only.ps1 +6 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-root-invocation.ps1 +7 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-wave-barrier.ps1 +7 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-epic-worktree-removal-gate.ps1 +54 -41
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-evidence-locations.ps1 +7 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-epic-scope.ps1 +35 -14
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-helpers.ps1 +31 -58
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-modes.ps1 +63 -47
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-targets.ps1 +433 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate.ps1 +24 -11
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-powershell-batch-budget.ps1 +8 -2
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-promotion-mcp-only.ps1 +13 -4
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-python-batch-budget.ps1 +8 -2
- package/resources/codex-and-agents-customizations/.codex/hooks/feature-folder-resolution.ps1 +373 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/feature-review-coverage-thresholds.ps1 +85 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-heredoc.ps1 +119 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-invocation-operands.ps1 +198 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-invocation.ps1 +254 -255
- package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-payload-powershell.ps1 +201 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-payload.ps1 +484 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/hook-command-scanner.ps1 +27 -110
- package/resources/codex-and-agents-customizations/.codex/hooks/hook-dependency-guard.ps1 +114 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/hook-docs-only-diff.ps1 +497 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/validate-bash.ps1 +8 -2
- package/resources/codex-and-agents-customizations/.codex/hooks/validate-codex-subagent-routing.ps1 +7 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/validate-feature-review-coverage.ps1 +24 -8
- package/resources/codex-and-agents-customizations/.codex/prompts/feature-review-remediate.md +6 -4
- package/resources/codex-and-agents-customizations/pack-manifests/core.json +11 -0
- package/resources/customizations/.github/agents/atomic_executor.agent.md +21 -11
- package/resources/customizations/.github/agents/atomic_planning.agent.md +8 -3
- package/resources/customizations/.github/agents/csharp-atomic-executor.agent.md +13 -9
- package/resources/customizations/.github/agents/csharp-atomic-planning.agent.md +2 -2
- package/resources/customizations/.github/agents/csharp-orchestrator.agent.md +2 -2
- package/resources/customizations/.github/agents/csharp-typed-engineer.agent.md +5 -5
- package/resources/customizations/.github/agents/orchestrator.agent.md +8 -5
- package/resources/customizations/.github/agents/powershell-atomic-executor.agent.md +13 -9
- package/resources/customizations/.github/agents/powershell-atomic-planning.agent.md +2 -2
- package/resources/customizations/.github/agents/powershell-orchestrator.agent.md +2 -2
- package/resources/customizations/.github/agents/powershell-typed-engineer.agent.md +3 -3
- package/resources/customizations/.github/agents/python-atomic-executor.agent.md +13 -9
- package/resources/customizations/.github/agents/python-atomic-planning.agent.md +2 -2
- package/resources/customizations/.github/agents/python-orchestrator.agent.md +2 -2
- package/resources/customizations/.github/agents/task-researcher.agent.md +6 -0
- package/resources/customizations/.github/instructions/csharp-code-change.instructions.md +4 -4
- package/resources/customizations/.github/instructions/csharp-unit-test.instructions.md +2 -2
- package/resources/customizations/.github/prompts/generate-atomic-plan.prompt.md +16 -10
- package/resources/customizations/.github/prompts/orchestrate-csharp-work.prompt.md +2 -2
- package/resources/customizations/.github/prompts/orchestrate-powershell-work.prompt.md +1 -1
- package/resources/customizations/.github/prompts/orchestrate-python-work.prompt.md +1 -1
- package/resources/customizations/.github/prompts/orchestrate-work.prompt.md +2 -2
- package/resources/customizations/.github/skills/acceptance-criteria-tracking/SKILL.md +1 -1
- package/resources/customizations/.github/skills/atomic-plan-contract/SKILL.md +43 -4
- package/resources/customizations/.github/skills/csharp-change-budget-router/SKILL.md +1 -1
- package/resources/customizations/.github/skills/evidence-and-timestamp-conventions/SKILL.md +10 -1
- package/resources/customizations/.github/skills/execution-environment/SKILL.md +134 -0
- package/resources/customizations/.github/skills/feature-review-workflow/SKILL.md +1 -1
- package/resources/customizations/.github/skills/powershell-change-budget-router/SKILL.md +1 -1
- package/resources/customizations/.github/skills/remediation-handoff-atomic-planner/SKILL.md +7 -3
- package/resources/feature-templates/bug/plan.yyyy-MM-ddTHH-mm.md +10 -0
- package/resources/feature-templates/feature/plan.yyyy-MM-ddTHH-mm.md +11 -0
- package/resources/feature-templates/refactor/plan.yyyy-MM-ddTHH-mm.md +11 -0
- package/resources/powershell/PoshQC/PoshQC.Coverage.psm1 +314 -0
- package/resources/powershell/PoshQC/PoshQC.CoverageMerge.psm1 +163 -0
- package/resources/powershell/PoshQC/PoshQC.Shard.psm1 +296 -0
- package/resources/powershell/PoshQC/PoshQC.Testing.psm1 +48 -32
- package/resources/powershell/PoshQC/PoshQC.psd1 +7 -1
- package/resources/powershell/PoshQC/PoshQC.psm1 +18 -5
- package/resources/powershell/PoshQC/README.md +21 -3
- package/resources/powershell/PoshQC/settings/pester.runsettings.psd1 +5 -319
|
@@ -27,6 +27,7 @@ Before proceeding, the orchestrator must:
|
|
|
27
27
|
1. Read `AGENTS.md` for repository tone policy and architectural context.
|
|
28
28
|
2. Read applicable `.agents/skills/` files for the languages in scope.
|
|
29
29
|
3. Read the policy files listed in the compliance reading order section of `AGENTS.md`.
|
|
30
|
+
4. Read the `execution-environment` skill (`.agents/skills/execution-environment/SKILL.md`) before delegating any worker. Delegation prompts and plans reference that brief instead of restating tool routes, command-text restrictions, the batch budget, hook context, or CI shape.
|
|
30
31
|
|
|
31
32
|
## Checkpoint Handling
|
|
32
33
|
|
|
@@ -121,7 +122,11 @@ route.
|
|
|
121
122
|
- Copy the exact required agents, skills, and MCP tools from the central `preparation` route.
|
|
122
123
|
- Perform promotion through the MCP surface, research, `spec.md`, `user-story.md`, atomic
|
|
123
124
|
planning, and atomic-executor preflight only.
|
|
124
|
-
-
|
|
125
|
+
- Run single-pass preflight against the same plan path (`### Single-Pass Preflight` in
|
|
126
|
+
`atomic-plan-contract`): trivial defects are fixed in place, the plan returns to the planner at
|
|
127
|
+
most once with the full `PREFLIGHT-DEFECT:` list, and a second substantive result halts with
|
|
128
|
+
`blocked_reason: "validator_failed"`. The preflight directive goes in the delegation prompt,
|
|
129
|
+
never in the plan file.
|
|
125
130
|
- Commit the prepared feature folder and approved plan to the worktree branch.
|
|
126
131
|
- Stop with `completed_steps` containing `S3_promotion` and `S4_atomic_planning`,
|
|
127
132
|
`next_step: "S5_atomic_execution"`, all execution-through-CI step statuses exactly
|
|
@@ -422,7 +427,7 @@ After each `feature-reviewer` delegation returns:
|
|
|
422
427
|
Halt precedence: human_decision_required > policy_hold > external_dependency
|
|
423
428
|
|
|
424
429
|
8. If the result is `REVIEW_STATUS: AWAITING_CI`, require `REMEDIATION_PLAN: NONE` and wait: set `blocked_reason: "awaiting_ci"`, set `next_step` to the step that re-checks (`S7_feature_review` for a review-time wait, `S9_ci_green` for a CI poll timeout), record no `human_interaction.requirements[]` entry for the wait, write no cycle, and create no remediation plan. Poll within the existing bounded CI interval and timeout; when the bound is exhausted, persist and stop. On resume, set `blocked_reason: "none"` and re-run the named step. For a review-time wait, the awaited workflow is named in the finding's `Remediability-Evidence:` line.
|
|
425
|
-
9. A CI Green Gate poll timeout is recorded as a finding with `Remediability: awaiting_ci` and follows the wait path; a failed
|
|
430
|
+
9. A CI Green Gate poll timeout is recorded as a finding with `Remediability: awaiting_ci` and follows the wait path; a failed check stays `autonomous` and enters the remediation loop.
|
|
426
431
|
|
|
427
432
|
## Remediation Loop (R1–R5)
|
|
428
433
|
|
|
@@ -430,8 +435,13 @@ A bounded loop consisting of five steps. The attempt count is `remediation_loop.
|
|
|
430
435
|
|
|
431
436
|
Cycle accounting: a remediation attempt is complete when R3 execution finished (`execution_status: "complete"`) and the pre-R4 commit recorded a non-empty change set; only then set `candidate_applied: true` on that cycle and increment `completed_attempts`. A cycle that ends without a candidate (execution not started, execution failed, or an empty staged change set) records `candidate_applied: false` and consumes no number. It is followed by at most one re-plan under the same number when the executor output identifies an autonomous plan defect; otherwise reclassify the blocker (typically `external_dependency`) and halt. Two consecutive no-candidate cycles halt with `step6_status: "blocked_remediation_loop_limit"`.
|
|
432
437
|
|
|
438
|
+
Remediation mode. Each cycle's `remediation-inputs.<timestamp>.md` carries exactly one line `Remediation-Mode: proportionate` or `Remediation-Mode: design`. A cycle is proportionate when every `autonomous` finding can be fixed without changing a spec acceptance criterion, a public interface, or the item's file inventory beyond the files already in the branch diff plus their tests and mirrors; otherwise it is design. CI-failure findings are normally proportionate.
|
|
439
|
+
|
|
440
|
+
- **Proportionate cycle.** One `atomic-planner` delegation produces a short plan with a `## Pre-Mortem` section and a final self-review task; R2 and R3 then run as one `atomic-executor` delegation that performs single-pass preflight with in-place trivial fixes and executes the plan. Record `preflight: {iterations: 1, final_status: "clear"}` before `execution_status`. A substantive defect stops the run with `BLOCKED at preflight (before [P0-T1])` and no checked task; rewrite the mode line to `Remediation-Mode: design` and continue as a design cycle with one planner revision.
|
|
441
|
+
- **Design cycle.** R1 to R5 run as listed below, with R2 under the single-pass preflight and at-most-one-return rule.
|
|
442
|
+
|
|
433
443
|
- **R1 — Remediation plan of record:** Use the exact `REMEDIATION_PLAN: <path>` returned by the review as the starting plan of record for the loop.
|
|
434
|
-
- **R2 — Preflight clearance:** Delegate to `atomic-executor` for precondition validation only (no implementation). If the executor
|
|
444
|
+
- **R2 — Preflight clearance:** Delegate to `atomic-executor` for precondition validation only (no implementation), with the preflight directive in the delegation prompt. Trivial defects are fixed in place. If the executor returns `PREFLIGHT: REVISIONS REQUIRED`, return to R1 once by re-delegating to `atomic-planner` against the same remediation-plan path with the full `PREFLIGHT-DEFECT:` list; if the following preflight still reports a substantive defect, record `final_status: "blocked_preflight_iteration_limit"` on the cycle and halt. Only after `PREFLIGHT: ALL CLEAR` may the orchestrator advance to R3.
|
|
435
445
|
- **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.
|
|
436
446
|
- **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.
|
|
437
447
|
- **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.
|
|
@@ -453,11 +463,20 @@ If a subagent artifact references a different issue number, the orchestrator rej
|
|
|
453
463
|
## CI Green Gate
|
|
454
464
|
|
|
455
465
|
Before PR/DONE completion, the orchestrator must observe the live PR head SHA
|
|
456
|
-
and
|
|
457
|
-
head SHA and CI result. DONE is blocked unless
|
|
458
|
-
current PR head SHA.
|
|
466
|
+
and every GitHub check on that head SHA through `gh`. The checkpoint must record
|
|
467
|
+
the checked head SHA and CI result. DONE is blocked unless every check on the
|
|
468
|
+
current PR head SHA passed or was skipped.
|
|
469
|
+
|
|
470
|
+
Gate procedure:
|
|
471
|
+
|
|
472
|
+
1. Resolve the live PR head SHA and the PR base branch with `gh pr view --json headRefOid,baseRefName`.
|
|
473
|
+
2. Invoke `gh pr checks --json bucket,name,state,link,workflow` against that head SHA. The query covers every check on the head SHA for every PR, whether or not branch protection marks the check as required.
|
|
474
|
+
3. Parse the JSON by running `pwsh -NoProfile -File .claude/lib/ci-gate/Invoke-CiGateParser.ps1 -ChecksJson <checks-json> -HeadSha <head-sha>`, appending `-RequireWorkflow CI` when the PR base branch is an `epic/<slug>-integration` branch. The parser derives `ci_gate.conclusion` over every queried check: `success` when every check passed or was skipped, `failure` when any check failed or was cancelled, and `pending` when any check is still in progress.
|
|
475
|
+
4. Epic-child rule: when the PR base branch is an `epic/<slug>-integration` branch, an empty check list is not accepted as green. Every check returned by the unfiltered query counts: a failing or cancelled non-`CI` check fails the gate, and a pending one keeps it pending. With `-RequireWorkflow CI`, the parser never returns `success` until at least one passing `CI` check is observed.
|
|
476
|
+
5. No-checks rule: when `gh pr checks` fails with a `no checks reported` error, that error is never treated as green for any PR. On an epic child, the parser runs with `-ChecksJson '[]'` and `-RequireWorkflow CI`, which returns `pending`; on any other PR the gate stays `pending` within the bounded poll.
|
|
477
|
+
6. Parser-absent rule: when `.claude/lib/ci-gate/Invoke-CiGateParser.ps1` does not exist in the repository, the orchestrator does not derive `success` by hand; it must stop and persist blocked state before PR/DONE completion.
|
|
459
478
|
|
|
460
|
-
The checkpoint records the CI result in a top-level `ci_gate` object with the required keys `conclusion`, `head_sha`, and `verified_at`. `conclusion` is one of `success`, `failure`, or `pending`; `head_sha` is the PR head SHA the
|
|
479
|
+
The checkpoint records the CI result in a top-level `ci_gate` object with the required keys `conclusion`, `head_sha`, and `verified_at`. `conclusion` is one of `success`, `failure`, or `pending`; `head_sha` is the PR head SHA the queried checks were observed against; `verified_at` is the ISO-8601 time at which this gate (S9) recorded the result. DONE requires `ci_gate.conclusion` equal to `success` and `ci_gate.head_sha` equal to the current PR head SHA. The key set is defined by `CI_GATE_KEYS` in `scripts/dev_tools/validate_orchestrator_state.py`, and the TypeScript MCP validator used by the Codex runtime requires the same keys.
|
|
461
480
|
|
|
462
481
|
The checkpoint records the pull request in a top-level `pr_gate` object with the keys `pr_number`, `pr_url`, `head_branch`, and `head_sha`. The key set is defined by `PR_GATE_KEYS` in `scripts/dev_tools/_orchestrator_state_routing.py`.
|
|
463
482
|
|
|
@@ -473,7 +492,7 @@ The orchestrator must not create a PR, push a branch for PR purposes, or report
|
|
|
473
492
|
2. The AC verification artifact (`p14-acceptance-criteria-checkoff.md` or equivalent) confirms all acceptance criteria pass.
|
|
474
493
|
3. The mandatory toolchain passed in its most recent run on the branch (no linting/type-check/test failures).
|
|
475
494
|
4. The checkpoint `next_step` is `S8_create_pr`.
|
|
476
|
-
5.
|
|
495
|
+
5. Every check on the current PR head SHA passed or was skipped (`ci_gate.conclusion` is `success`).
|
|
477
496
|
|
|
478
497
|
This gate is non-negotiable. Each condition is independently verified before PR creation proceeds.
|
|
479
498
|
|
package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md
CHANGED
|
@@ -436,7 +436,7 @@ Do not claim mission completion until all of the following are true:
|
|
|
436
436
|
- any required remediation loop run also includes a remediation execution receipt, a remediation commit receipt, and a final `REVIEW_STATUS: PASS`
|
|
437
437
|
- validator-backed checks for the approved plan, policy audit, code review, feature audit, and checkpoint state pass
|
|
438
438
|
- the canonical checkpoint passes `validate_orchestration_artifacts` with `artifact_type: "orchestrator-state"`, `require_complete: true`, `require_codex_topology: true`, and `require_codex_model_routing: true`
|
|
439
|
-
-
|
|
439
|
+
- every GitHub check on the current PR head SHA passed or was skipped before PR/DONE completion
|
|
440
440
|
|
|
441
441
|
## Hard Constraints
|
|
442
442
|
|
|
@@ -28,7 +28,7 @@ When routed through `powershell-orchestrator`, small path still requires lifecyc
|
|
|
28
28
|
- promote potential item to GitHub issue with `--work-mode minor-audit`,
|
|
29
29
|
- create active feature folder with `--work-mode minor-audit`,
|
|
30
30
|
- delegate minimal-audit plan creation to `atomic_planner` with `DIRECTIVE: MINIMAL-AUDIT PLAN REQUIRED`,
|
|
31
|
-
- require `atomic_executor` preflight
|
|
31
|
+
- require single-pass `atomic_executor` preflight ending in `PREFLIGHT: ALL CLEAR` (at most one return to the planner),
|
|
32
32
|
- execute Phase 0 only via `atomic_executor` before branching,
|
|
33
33
|
- run reduced small-audit after implementation and QC.
|
|
34
34
|
|
|
@@ -40,7 +40,7 @@ When routed through the orchestrator, the small path still requires lifecycle sc
|
|
|
40
40
|
- promote the potential item to a GitHub issue with `--work-mode minor-audit`,
|
|
41
41
|
- create the active feature folder with `--work-mode minor-audit`,
|
|
42
42
|
- delegate minimal-audit plan creation to `atomic_planner` with `DIRECTIVE: MINIMAL-AUDIT PLAN REQUIRED`,
|
|
43
|
-
- require `atomic_executor` preflight
|
|
43
|
+
- require single-pass `atomic_executor` preflight ending in `PREFLIGHT: ALL CLEAR` (at most one return to the planner),
|
|
44
44
|
- execute Phase 0 only via `atomic_executor` before branching,
|
|
45
45
|
- run the reduced small-audit after implementation and QC.
|
|
46
46
|
|
|
@@ -9,19 +9,21 @@ Source: legacy Claude rule `quality-tiers`.
|
|
|
9
9
|
|
|
10
10
|
# Module Rigor Tiers
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Applicability: this skill (`.agents/skills/quality-tiers/SKILL.md`) applies only when `quality-tiers.yml` exists at the repository root, which indicates that the repository has adopted module rigor tiers. When that file is absent, there is no tier classification requirement, no `tier-classification` CI stage, and no tier-dependent gate (the escape-hatch limits, property-test density, mutation score, contract-bump rule, determinism retry rate, golden tests, and E2E suite scope in the Tier-dependent table below), and the absence of `quality-tiers.yml` is not a defect. The coverage defaults listed under Uniform across all tiers do not depend on tier adoption; their precedence is stated in that section.
|
|
13
|
+
|
|
14
|
+
When `quality-tiers.yml` exists, this skill defines the T1–T4 module rigor tier system used by the repository's CI gates, and the tier definitions and gate matrix in this document are the tier system's source of truth.
|
|
13
15
|
|
|
14
16
|
## Tiers
|
|
15
17
|
|
|
16
|
-
- **T1 — Critical.** Behavior bugs cause silent data loss, model drift, or security holes. Examples
|
|
17
|
-
- **T2 — Core.** Bugs cause feature regressions but not data loss. Examples:
|
|
18
|
-
- **T3 — Adapters & UI.** Glue around APIs the team does not own. Examples:
|
|
18
|
+
- **T1 — Critical.** Behavior bugs cause silent data loss, model drift, or security holes. Examples: classifier and scoring engines, identifier allocators and hierarchy operations, adapters that write to an external system of record, authentication and token handling, command dispatch.
|
|
19
|
+
- **T2 — Core.** Bugs cause feature regressions but not data loss. Examples: domain and application layers, data-transfer objects, settings store abstractions, schema definitions.
|
|
20
|
+
- **T3 — Adapters & UI.** Glue around APIs the team does not own. Examples: user-interface surfaces, host-platform API wrappers, third-party API and SDK wrappers, persistence I/O.
|
|
19
21
|
- **T4 — Scaffolding.** Examples: DI wiring, bootstrap, build scripts, dev tooling, generated code, manifests.
|
|
20
22
|
|
|
21
23
|
## Source of Truth
|
|
22
24
|
|
|
23
|
-
- `quality-tiers.yml` at
|
|
24
|
-
-
|
|
25
|
+
- When `quality-tiers.yml` exists at the repository root, it maps every project to one tier.
|
|
26
|
+
- In a repository that runs a `tier-classification` CI stage, that stage validates that every project entry has a tier and that no unclassified project exists, and it fails CI for an unclassified project.
|
|
25
27
|
|
|
26
28
|
## Uniform-vs-Tier-Dependent Gate Matrix
|
|
27
29
|
|
|
@@ -29,6 +31,8 @@ Per Authoritative Decision #2, line and branch coverage thresholds are uniform a
|
|
|
29
31
|
|
|
30
32
|
### Uniform across all tiers (T1–T4)
|
|
31
33
|
|
|
34
|
+
Threshold precedence: when the repository's root `AGENTS.md` states line or branch coverage thresholds, those thresholds govern; when `AGENTS.md` states none, thresholds stated in the repository's root `CLAUDE.md` govern. The 85% line and 75% branch figures are defaults that apply only when neither root `AGENTS.md` nor root `CLAUDE.md` states thresholds. This precedence applies to every restatement of these figures in other skills, agents, and rule files. Each metric falls back independently: when a root file states only a line threshold or only a branch threshold, that threshold governs its metric and the next source in this order, ending with the default, governs the other.
|
|
35
|
+
|
|
32
36
|
- Format check: 100% pass.
|
|
33
37
|
- Lint errors: 0.
|
|
34
38
|
- Type errors: 0.
|
|
@@ -51,4 +55,4 @@ Per Authoritative Decision #2, line and branch coverage thresholds are uniform a
|
|
|
51
55
|
|
|
52
56
|
## Rationale (uniform coverage thresholds)
|
|
53
57
|
|
|
54
|
-
High test coverage is a fundamental quality-control design choice that enables autonomous agentic development and trust in the work product. For that reason, line coverage >= 85% applies uniformly across T1–T4 to every coverage language, and branch coverage >= 75% applies uniformly across T1–T4 to every language whose coverage tooling measures branch coverage; tier-specific lower coverage floors are not used
|
|
58
|
+
High test coverage is a fundamental quality-control design choice that enables autonomous agentic development and trust in the work product. For that reason, line coverage >= 85% applies uniformly across T1–T4 to every coverage language, and branch coverage >= 75% applies uniformly across T1–T4 to every language whose coverage tooling measures branch coverage; tier-specific lower coverage floors are not used. These figures are defaults under the threshold precedence stated above: a root `AGENTS.md` or root `CLAUDE.md` that states coverage thresholds overrides them. Each metric falls back independently, so a root file that states only one of the two thresholds overrides only that one. The branch threshold is not applied to PowerShell or bash because Pester and kcov do not measure branch coverage. That exemption is a capability limit on an unevaluable threshold, not a licence to exclude files from measurement: PowerShell and bash production files remain in the coverage denominator under the Coverage Exclusion Policy in `.agents/skills/general-unit-test/SKILL.md`.
|
|
@@ -27,6 +27,9 @@ Remediation triggers only on blocking findings classified `autonomous`. Each blo
|
|
|
27
27
|
Create `remediation/<timestamp>/remediation-inputs.md` (one timestamped `remediation/` folder per cycle; reaudit artifacts from a triggering or exit review live under the sibling `audit/<timestamp>/` folder, per the canonical pattern documented in the Claude-side `remediation-handoff-atomic-planner` skill) with:
|
|
28
28
|
- Enumerated fix list with file paths, expected behavior, and verification commands.
|
|
29
29
|
- A “do not do” list (no scope creep, no policy weakening, no silent skips).
|
|
30
|
+
- Exactly one mode line, `Remediation-Mode: proportionate` or `Remediation-Mode: design`. The cycle is proportionate when every `autonomous` finding can be fixed without changing a spec acceptance criterion, a public interface, or the item's file inventory beyond the files already in the branch diff plus their tests and mirrors; otherwise it is design. CI-failure findings are normally proportionate.
|
|
31
|
+
|
|
32
|
+
Proportionate cycle: one `atomic_planner` delegation writes a short plan with a `## Pre-Mortem` section and a final self-review task, and one `atomic_executor` delegation runs single-pass preflight with in-place trivial fixes and then executes it; `preflight: {iterations: 1, final_status: "clear"}` is recorded before `execution_status`. A substantive preflight defect stops that run with `BLOCKED at preflight (before [P0-T1])` and no checked task, and the cycle converts to design mode (the mode line is rewritten to `Remediation-Mode: design`) for one planner revision. Design cycle: the handoff below runs with the at-most-one-return rule.
|
|
30
33
|
|
|
31
34
|
## Plan Creation and Handoff
|
|
32
35
|
|
|
@@ -36,9 +39,10 @@ Create `remediation/<timestamp>/remediation-inputs.md` (one timestamped `remedia
|
|
|
36
39
|
- `${file}` pointing to the remediation plan target file
|
|
37
40
|
3) Require `atomic_planner` to output a deterministic, atomic plan with phases and `[P#-T#]` IDs.
|
|
38
41
|
4) Require the same `${file}` path to be updated in place across all remediation-plan revisions in the same remediation loop.
|
|
39
|
-
5) The caller owns the downstream clearance
|
|
40
|
-
- hand the resulting remediation plan to `atomic_executor` in preflight-validation mode,
|
|
41
|
-
- if preflight returns `PREFLIGHT: REVISIONS REQUIRED`, re-delegate to `atomic_planner` against the same `${file}` path,
|
|
42
|
+
5) The caller owns the downstream clearance step:
|
|
43
|
+
- hand the resulting remediation plan to `atomic_executor` in preflight-validation mode, with the preflight directive in the delegation prompt and never in the plan file; preflight is single-pass and fixes trivial defects in place,
|
|
44
|
+
- if preflight returns `PREFLIGHT: REVISIONS REQUIRED`, re-delegate to `atomic_planner` once against the same `${file}` path with the full `PREFLIGHT-DEFECT:` list, then run one confirming preflight,
|
|
45
|
+
- if the confirming preflight still reports a substantive defect, record `final_status: "blocked_preflight_iteration_limit"` and halt the cycle,
|
|
42
46
|
- execute the remediation plan only after `PREFLIGHT: ALL CLEAR`.
|
|
43
47
|
|
|
44
48
|
## Context Package (When Required)
|
|
@@ -55,6 +55,12 @@ Create or update a single research file in the applicable tracked research root:
|
|
|
55
55
|
- Propose a test strategy consistent with repository policy (unit tests for pure logic, integration seams).
|
|
56
56
|
- Do not write test code; describe the strategy only.
|
|
57
57
|
|
|
58
|
+
### 6. Pre-Mortem
|
|
59
|
+
|
|
60
|
+
- Feature-associated research (a research path under `docs/features/`) MUST carry a `## Pre-Mortem` section with one bullet beginning with each of the seven labels `Review checklists`, `Coverage`, `Mirror parity`, `File size`, `Test isolation`, `CI-only behavior`, and `Evidence`. Each bullet states how the next review or CI run could fail on that dimension and the mitigation the plan must carry; a label that does not apply is written as "not applicable" followed by the reason.
|
|
61
|
+
- One-off research under `docs/research/` is exempt.
|
|
62
|
+
- The `execution-environment` skill states the CI shape, contract tests, and isolation checks the section accounts for.
|
|
63
|
+
|
|
58
64
|
## Constraints
|
|
59
65
|
|
|
60
66
|
- Research only. Do not implement changes.
|
package/resources/codex-and-agents-customizations/.agents/skills/translate-claude-to-codex/SKILL.md
CHANGED
|
@@ -282,7 +282,7 @@ Every completion response must include:
|
|
|
282
282
|
| `.claude/agents/<name>.md` | `.codex/agents/<name>.toml` | model + sandbox OS-enforced; tools allowlist re-grounded |
|
|
283
283
|
| `.claude/settings.json` `permissions` | `[permissions.<name>]` in `config.toml` | OS-enforced via sandbox; more expressive than Claude |
|
|
284
284
|
| `.claude/hooks/*.ps1` (PreToolUse) | `[hooks] PreToolUse` + script | direct equivalent; exit 2 / permissionDecision deny |
|
|
285
|
-
| `.claude/hooks/*.ps1` (SubagentStop, exit
|
|
285
|
+
| `.claude/hooks/*.ps1` (SubagentStop, exit 2) | `[hooks] SubagentStop` + required CI check | degraded; CI status check is the hard gate |
|
|
286
286
|
| `permissions.deny` (secrets) | `[permissions.<name>.filesystem]` deny | OS-enforced |
|
|
287
287
|
|
|
288
288
|
## Invocation Examples
|
|
@@ -15,8 +15,8 @@ This rule file summarizes the C#-specific policies for this repository.
|
|
|
15
15
|
## Toolchain
|
|
16
16
|
|
|
17
17
|
1. **Formatting — CSharpier**: All C# source files must be formatted with CSharpier. Do not use `dotnet format`. Run `dotnet tool restore` first when the manifest tool has not been restored. Apply formatting with `dotnet tool run csharpier format .` and verify read-only with `dotnet tool run csharpier check .`. Always invoke through `dotnet tool run` so the manifest-pinned CSharpier version is used.
|
|
18
|
-
2. **Linting — .NET Analyzers**: C# code must pass Roslyn/.NET analyzer diagnostics. Command: `msbuild
|
|
19
|
-
3. **Type Checking — Nullable Analysis**: Compiler and nullable-flow diagnostics must pass with warnings as errors. Command: `msbuild
|
|
18
|
+
2. **Linting — .NET Analyzers**: C# code must pass Roslyn/.NET analyzer diagnostics. Command: `msbuild <solution>.sln /t:Rebuild /m /p:Configuration=Debug "/p:Platform=Any CPU" /p:EnableNETAnalyzers=true /p:EnforceCodeStyleInBuild=true`. `/t:Rebuild` is intentional for a warm local worktree: `/t:Build` can skip `CoreCompile` through MSBuild incrementality and exit 0 without running analyzers. CI may retain `/t:Build` on a cold checkout.
|
|
19
|
+
3. **Type Checking — Nullable Analysis**: Compiler and nullable-flow diagnostics must pass with warnings as errors. Command: `msbuild <solution>.sln /t:Rebuild /m /p:Configuration=Debug "/p:Platform=Any CPU" /p:TreatWarningsAsErrors=true`. `/t:Rebuild` is required locally so compiler and nullable-flow diagnostics actually run. Projects opt into nullable per file with `#nullable enable`; do not pass `/p:Nullable=enable`, which opts every unannotated file in at once.
|
|
20
20
|
4. **Testing — MSTest + Moq + FluentAssertions**: Run tests with: `vstest.console.exe <test-assembly-paths> /EnableCodeCoverage`
|
|
21
21
|
|
|
22
22
|
Run the toolchain in order: format → lint → type-check → test. Restart from step 1 if any step fails or changes files.
|
|
@@ -30,8 +30,8 @@ Before invoking this gate, the agent must have:
|
|
|
30
30
|
Run the full toolchain in this exact order. If any step fails or modifies files, fix the issue and restart from step 1. Do not stop the loop until all four steps complete without errors in a single pass.
|
|
31
31
|
|
|
32
32
|
1. `dotnet tool restore` (when the manifest tool has not been restored), then `dotnet tool run csharpier format .` to apply formatting and `dotnet tool run csharpier check .` to verify read-only.
|
|
33
|
-
2. `msbuild
|
|
34
|
-
3. `msbuild
|
|
33
|
+
2. `msbuild <solution>.sln /t:Rebuild /m /p:Configuration=Debug "/p:Platform=Any CPU" /p:EnableNETAnalyzers=true /p:EnforceCodeStyleInBuild=true`
|
|
34
|
+
3. `msbuild <solution>.sln /t:Rebuild /m /p:Configuration=Debug "/p:Platform=Any CPU" /p:TreatWarningsAsErrors=true`
|
|
35
35
|
4. `vstest.console.exe <test-assembly-paths> /EnableCodeCoverage`
|
|
36
36
|
|
|
37
37
|
`/t:Rebuild /m` is intentional for the local gate: on a warm worktree `/t:Build` can skip `CoreCompile` through MSBuild incrementality and exit 0 without running analyzers or the compiler. CI may retain `/t:Build` on a cold checkout. Projects opt into nullable per file with `#nullable enable`; do not pass `/p:Nullable=enable`.
|
|
@@ -11,6 +11,7 @@ Use the following repo-local skills as the canonical workflow source:
|
|
|
11
11
|
- atomic-plan-contract
|
|
12
12
|
- policy-compliance-order
|
|
13
13
|
- acceptance-criteria-tracking
|
|
14
|
+
- execution-environment
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
name: atomic-executor
|
|
@@ -35,11 +36,13 @@ tools:
|
|
|
35
36
|
- "mcp__drm-copilot__run_poshqc_analyze"
|
|
36
37
|
- "mcp__drm-copilot__run_poshqc_test"
|
|
37
38
|
- "mcp__drm-copilot__run_poshqc_analyze_autofix"
|
|
39
|
+
- "mcp__drm-copilot__validate_orchestration_artifacts"
|
|
38
40
|
skills:
|
|
39
41
|
- policy-compliance-order
|
|
40
42
|
- atomic-plan-contract
|
|
41
43
|
- evidence-and-timestamp-conventions
|
|
42
44
|
- acceptance-criteria-tracking
|
|
45
|
+
- execution-environment
|
|
43
46
|
memory: project
|
|
44
47
|
hooks:
|
|
45
48
|
SubagentStop:
|
|
@@ -93,21 +96,33 @@ Use the scoped tool patterns for quality gates:
|
|
|
93
96
|
|
|
94
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
95
98
|
|
|
99
|
+
## Scratch Location
|
|
100
|
+
|
|
101
|
+
Concurrent child runs in one session share one session scratchpad, so every scratch file a run writes lives in a directory unique to the child.
|
|
102
|
+
|
|
103
|
+
- `SCRATCH` resolves to `<session scratchpad>/issue-<issue-num>/`, where `<issue-num>` is the plan's canonical issue number.
|
|
104
|
+
- Every scratch file, helper script, staged copy, and coverage report a plan names lives under `SCRATCH`. Subdirectories such as `SCRATCH/stage/` are permitted.
|
|
105
|
+
- Create `SCRATCH` before the first scratch write. Never write a scratch file to the scratchpad root or to a fixed shared name outside `SCRATCH`.
|
|
106
|
+
- When a plan written before this rule defines `SCRATCH` as the bare session scratchpad, treat that definition as `<session scratchpad>/issue-<issue-num>/`. This is a mechanical micro-action, not replanning.
|
|
107
|
+
- Plans and evidence artifacts record the literal token `SCRATCH`, never a host path.
|
|
108
|
+
- If two runs for the same issue can execute at once, the run-unique form `issue-<issue-num>-<yyyy-MM-ddTHH-mm>` replaces `issue-<issue-num>`.
|
|
109
|
+
|
|
96
110
|
## Preflight Validation
|
|
97
111
|
|
|
98
|
-
When
|
|
112
|
+
When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATION ONLY`, perform validation only and return exactly one of `PREFLIGHT: ALL CLEAR` or `PREFLIGHT: REVISIONS REQUIRED`. The preflight directive belongs in the delegation prompt, never in a plan file.
|
|
99
113
|
|
|
100
114
|
- `PREFLIGHT: ALL CLEAR`
|
|
101
115
|
- `PREFLIGHT: REVISIONS REQUIRED`
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
116
|
+
- Review the entire plan in one pass and classify every defect as trivial or substantive, per `### Single-Pass Preflight` in `atomic-plan-contract`.
|
|
117
|
+
- Fix trivial defects in place, in task text only; never add, remove, or reorder tasks. Report each fix as `PREFLIGHT-FIX: <task id or heading> | <defect class> | <change made>` and name the fix record as `preflight-fix-record: <path>`.
|
|
118
|
+
- If revisions are required, include a precise plan delta that can be applied to the same plan file, with one `PREFLIGHT-DEFECT: <task id or heading> | <defect class> | <required change>` line per substantive defect.
|
|
119
|
+
- Return the result to the caller. A plan returns to the planner at most once; the orchestrator routes the defect list for one revision and runs one confirming preflight.
|
|
120
|
+
- If the required validator is unavailable, stop and report blocked state.
|
|
106
121
|
- Before any `PREFLIGHT: ALL CLEAR` result is treated as approved, the target plan must pass the `validate_orchestration_artifacts` MCP tool with `artifact_type: "plan"` and `artifact_path: <plan-path>`.
|
|
107
122
|
|
|
108
123
|
## Blocking Protocol
|
|
109
124
|
|
|
110
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`). 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. When preflight-blocked:
|
|
111
126
|
|
|
112
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
113
128
|
2. Provide a short, concrete explanation of why.
|
|
@@ -11,6 +11,7 @@ Use the following repo-local skills as the canonical workflow source:
|
|
|
11
11
|
- atomic-plan-contract
|
|
12
12
|
- policy-compliance-order
|
|
13
13
|
- acceptance-criteria-tracking
|
|
14
|
+
- execution-environment
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
name: atomic-executor
|
|
@@ -35,11 +36,13 @@ tools:
|
|
|
35
36
|
- "mcp__drm-copilot__run_poshqc_analyze"
|
|
36
37
|
- "mcp__drm-copilot__run_poshqc_test"
|
|
37
38
|
- "mcp__drm-copilot__run_poshqc_analyze_autofix"
|
|
39
|
+
- "mcp__drm-copilot__validate_orchestration_artifacts"
|
|
38
40
|
skills:
|
|
39
41
|
- policy-compliance-order
|
|
40
42
|
- atomic-plan-contract
|
|
41
43
|
- evidence-and-timestamp-conventions
|
|
42
44
|
- acceptance-criteria-tracking
|
|
45
|
+
- execution-environment
|
|
43
46
|
memory: project
|
|
44
47
|
hooks:
|
|
45
48
|
SubagentStop:
|
|
@@ -93,21 +96,33 @@ Use the scoped tool patterns for quality gates:
|
|
|
93
96
|
|
|
94
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
95
98
|
|
|
99
|
+
## Scratch Location
|
|
100
|
+
|
|
101
|
+
Concurrent child runs in one session share one session scratchpad, so every scratch file a run writes lives in a directory unique to the child.
|
|
102
|
+
|
|
103
|
+
- `SCRATCH` resolves to `<session scratchpad>/issue-<issue-num>/`, where `<issue-num>` is the plan's canonical issue number.
|
|
104
|
+
- Every scratch file, helper script, staged copy, and coverage report a plan names lives under `SCRATCH`. Subdirectories such as `SCRATCH/stage/` are permitted.
|
|
105
|
+
- Create `SCRATCH` before the first scratch write. Never write a scratch file to the scratchpad root or to a fixed shared name outside `SCRATCH`.
|
|
106
|
+
- When a plan written before this rule defines `SCRATCH` as the bare session scratchpad, treat that definition as `<session scratchpad>/issue-<issue-num>/`. This is a mechanical micro-action, not replanning.
|
|
107
|
+
- Plans and evidence artifacts record the literal token `SCRATCH`, never a host path.
|
|
108
|
+
- If two runs for the same issue can execute at once, the run-unique form `issue-<issue-num>-<yyyy-MM-ddTHH-mm>` replaces `issue-<issue-num>`.
|
|
109
|
+
|
|
96
110
|
## Preflight Validation
|
|
97
111
|
|
|
98
|
-
When
|
|
112
|
+
When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATION ONLY`, perform validation only and return exactly one of `PREFLIGHT: ALL CLEAR` or `PREFLIGHT: REVISIONS REQUIRED`. The preflight directive belongs in the delegation prompt, never in a plan file.
|
|
99
113
|
|
|
100
114
|
- `PREFLIGHT: ALL CLEAR`
|
|
101
115
|
- `PREFLIGHT: REVISIONS REQUIRED`
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
116
|
+
- Review the entire plan in one pass and classify every defect as trivial or substantive, per `### Single-Pass Preflight` in `atomic-plan-contract`.
|
|
117
|
+
- Fix trivial defects in place, in task text only; never add, remove, or reorder tasks. Report each fix as `PREFLIGHT-FIX: <task id or heading> | <defect class> | <change made>` and name the fix record as `preflight-fix-record: <path>`.
|
|
118
|
+
- If revisions are required, include a precise plan delta that can be applied to the same plan file, with one `PREFLIGHT-DEFECT: <task id or heading> | <defect class> | <required change>` line per substantive defect.
|
|
119
|
+
- Return the result to the caller. A plan returns to the planner at most once; the orchestrator routes the defect list for one revision and runs one confirming preflight.
|
|
120
|
+
- If the required validator is unavailable, stop and report blocked state.
|
|
106
121
|
- Before any `PREFLIGHT: ALL CLEAR` result is treated as approved, the target plan must pass the `validate_orchestration_artifacts` MCP tool with `artifact_type: "plan"` and `artifact_path: <plan-path>`.
|
|
107
122
|
|
|
108
123
|
## Blocking Protocol
|
|
109
124
|
|
|
110
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`). 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. When preflight-blocked:
|
|
111
126
|
|
|
112
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
113
128
|
2. Provide a short, concrete explanation of why.
|
package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor-c3-elevated.toml
CHANGED
|
@@ -11,6 +11,7 @@ Use the following repo-local skills as the canonical workflow source:
|
|
|
11
11
|
- atomic-plan-contract
|
|
12
12
|
- policy-compliance-order
|
|
13
13
|
- acceptance-criteria-tracking
|
|
14
|
+
- execution-environment
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
name: atomic-executor
|
|
@@ -35,11 +36,13 @@ tools:
|
|
|
35
36
|
- "mcp__drm-copilot__run_poshqc_analyze"
|
|
36
37
|
- "mcp__drm-copilot__run_poshqc_test"
|
|
37
38
|
- "mcp__drm-copilot__run_poshqc_analyze_autofix"
|
|
39
|
+
- "mcp__drm-copilot__validate_orchestration_artifacts"
|
|
38
40
|
skills:
|
|
39
41
|
- policy-compliance-order
|
|
40
42
|
- atomic-plan-contract
|
|
41
43
|
- evidence-and-timestamp-conventions
|
|
42
44
|
- acceptance-criteria-tracking
|
|
45
|
+
- execution-environment
|
|
43
46
|
memory: project
|
|
44
47
|
hooks:
|
|
45
48
|
SubagentStop:
|
|
@@ -93,21 +96,33 @@ Use the scoped tool patterns for quality gates:
|
|
|
93
96
|
|
|
94
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
95
98
|
|
|
99
|
+
## Scratch Location
|
|
100
|
+
|
|
101
|
+
Concurrent child runs in one session share one session scratchpad, so every scratch file a run writes lives in a directory unique to the child.
|
|
102
|
+
|
|
103
|
+
- `SCRATCH` resolves to `<session scratchpad>/issue-<issue-num>/`, where `<issue-num>` is the plan's canonical issue number.
|
|
104
|
+
- Every scratch file, helper script, staged copy, and coverage report a plan names lives under `SCRATCH`. Subdirectories such as `SCRATCH/stage/` are permitted.
|
|
105
|
+
- Create `SCRATCH` before the first scratch write. Never write a scratch file to the scratchpad root or to a fixed shared name outside `SCRATCH`.
|
|
106
|
+
- When a plan written before this rule defines `SCRATCH` as the bare session scratchpad, treat that definition as `<session scratchpad>/issue-<issue-num>/`. This is a mechanical micro-action, not replanning.
|
|
107
|
+
- Plans and evidence artifacts record the literal token `SCRATCH`, never a host path.
|
|
108
|
+
- If two runs for the same issue can execute at once, the run-unique form `issue-<issue-num>-<yyyy-MM-ddTHH-mm>` replaces `issue-<issue-num>`.
|
|
109
|
+
|
|
96
110
|
## Preflight Validation
|
|
97
111
|
|
|
98
|
-
When
|
|
112
|
+
When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATION ONLY`, perform validation only and return exactly one of `PREFLIGHT: ALL CLEAR` or `PREFLIGHT: REVISIONS REQUIRED`. The preflight directive belongs in the delegation prompt, never in a plan file.
|
|
99
113
|
|
|
100
114
|
- `PREFLIGHT: ALL CLEAR`
|
|
101
115
|
- `PREFLIGHT: REVISIONS REQUIRED`
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
116
|
+
- Review the entire plan in one pass and classify every defect as trivial or substantive, per `### Single-Pass Preflight` in `atomic-plan-contract`.
|
|
117
|
+
- Fix trivial defects in place, in task text only; never add, remove, or reorder tasks. Report each fix as `PREFLIGHT-FIX: <task id or heading> | <defect class> | <change made>` and name the fix record as `preflight-fix-record: <path>`.
|
|
118
|
+
- If revisions are required, include a precise plan delta that can be applied to the same plan file, with one `PREFLIGHT-DEFECT: <task id or heading> | <defect class> | <required change>` line per substantive defect.
|
|
119
|
+
- Return the result to the caller. A plan returns to the planner at most once; the orchestrator routes the defect list for one revision and runs one confirming preflight.
|
|
120
|
+
- If the required validator is unavailable, stop and report blocked state.
|
|
106
121
|
- Before any `PREFLIGHT: ALL CLEAR` result is treated as approved, the target plan must pass the `validate_orchestration_artifacts` MCP tool with `artifact_type: "plan"` and `artifact_path: <plan-path>`.
|
|
107
122
|
|
|
108
123
|
## Blocking Protocol
|
|
109
124
|
|
|
110
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`). 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. When preflight-blocked:
|
|
111
126
|
|
|
112
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
113
128
|
2. Provide a short, concrete explanation of why.
|
|
@@ -11,6 +11,7 @@ Use the following repo-local skills as the canonical workflow source:
|
|
|
11
11
|
- atomic-plan-contract
|
|
12
12
|
- policy-compliance-order
|
|
13
13
|
- acceptance-criteria-tracking
|
|
14
|
+
- execution-environment
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
name: atomic-executor
|
|
@@ -35,11 +36,13 @@ tools:
|
|
|
35
36
|
- "mcp__drm-copilot__run_poshqc_analyze"
|
|
36
37
|
- "mcp__drm-copilot__run_poshqc_test"
|
|
37
38
|
- "mcp__drm-copilot__run_poshqc_analyze_autofix"
|
|
39
|
+
- "mcp__drm-copilot__validate_orchestration_artifacts"
|
|
38
40
|
skills:
|
|
39
41
|
- policy-compliance-order
|
|
40
42
|
- atomic-plan-contract
|
|
41
43
|
- evidence-and-timestamp-conventions
|
|
42
44
|
- acceptance-criteria-tracking
|
|
45
|
+
- execution-environment
|
|
43
46
|
memory: project
|
|
44
47
|
hooks:
|
|
45
48
|
SubagentStop:
|
|
@@ -93,21 +96,33 @@ Use the scoped tool patterns for quality gates:
|
|
|
93
96
|
|
|
94
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
95
98
|
|
|
99
|
+
## Scratch Location
|
|
100
|
+
|
|
101
|
+
Concurrent child runs in one session share one session scratchpad, so every scratch file a run writes lives in a directory unique to the child.
|
|
102
|
+
|
|
103
|
+
- `SCRATCH` resolves to `<session scratchpad>/issue-<issue-num>/`, where `<issue-num>` is the plan's canonical issue number.
|
|
104
|
+
- Every scratch file, helper script, staged copy, and coverage report a plan names lives under `SCRATCH`. Subdirectories such as `SCRATCH/stage/` are permitted.
|
|
105
|
+
- Create `SCRATCH` before the first scratch write. Never write a scratch file to the scratchpad root or to a fixed shared name outside `SCRATCH`.
|
|
106
|
+
- When a plan written before this rule defines `SCRATCH` as the bare session scratchpad, treat that definition as `<session scratchpad>/issue-<issue-num>/`. This is a mechanical micro-action, not replanning.
|
|
107
|
+
- Plans and evidence artifacts record the literal token `SCRATCH`, never a host path.
|
|
108
|
+
- If two runs for the same issue can execute at once, the run-unique form `issue-<issue-num>-<yyyy-MM-ddTHH-mm>` replaces `issue-<issue-num>`.
|
|
109
|
+
|
|
96
110
|
## Preflight Validation
|
|
97
111
|
|
|
98
|
-
When
|
|
112
|
+
When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATION ONLY`, perform validation only and return exactly one of `PREFLIGHT: ALL CLEAR` or `PREFLIGHT: REVISIONS REQUIRED`. The preflight directive belongs in the delegation prompt, never in a plan file.
|
|
99
113
|
|
|
100
114
|
- `PREFLIGHT: ALL CLEAR`
|
|
101
115
|
- `PREFLIGHT: REVISIONS REQUIRED`
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
116
|
+
- Review the entire plan in one pass and classify every defect as trivial or substantive, per `### Single-Pass Preflight` in `atomic-plan-contract`.
|
|
117
|
+
- Fix trivial defects in place, in task text only; never add, remove, or reorder tasks. Report each fix as `PREFLIGHT-FIX: <task id or heading> | <defect class> | <change made>` and name the fix record as `preflight-fix-record: <path>`.
|
|
118
|
+
- If revisions are required, include a precise plan delta that can be applied to the same plan file, with one `PREFLIGHT-DEFECT: <task id or heading> | <defect class> | <required change>` line per substantive defect.
|
|
119
|
+
- Return the result to the caller. A plan returns to the planner at most once; the orchestrator routes the defect list for one revision and runs one confirming preflight.
|
|
120
|
+
- If the required validator is unavailable, stop and report blocked state.
|
|
106
121
|
- Before any `PREFLIGHT: ALL CLEAR` result is treated as approved, the target plan must pass the `validate_orchestration_artifacts` MCP tool with `artifact_type: "plan"` and `artifact_path: <plan-path>`.
|
|
107
122
|
|
|
108
123
|
## Blocking Protocol
|
|
109
124
|
|
|
110
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`). 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. When preflight-blocked:
|
|
111
126
|
|
|
112
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
113
128
|
2. Provide a short, concrete explanation of why.
|
|
@@ -11,6 +11,7 @@ Use the following repo-local skills as the canonical workflow source:
|
|
|
11
11
|
- atomic-plan-contract
|
|
12
12
|
- policy-compliance-order
|
|
13
13
|
- acceptance-criteria-tracking
|
|
14
|
+
- execution-environment
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
name: atomic-executor
|
|
@@ -35,11 +36,13 @@ tools:
|
|
|
35
36
|
- "mcp__drm-copilot__run_poshqc_analyze"
|
|
36
37
|
- "mcp__drm-copilot__run_poshqc_test"
|
|
37
38
|
- "mcp__drm-copilot__run_poshqc_analyze_autofix"
|
|
39
|
+
- "mcp__drm-copilot__validate_orchestration_artifacts"
|
|
38
40
|
skills:
|
|
39
41
|
- policy-compliance-order
|
|
40
42
|
- atomic-plan-contract
|
|
41
43
|
- evidence-and-timestamp-conventions
|
|
42
44
|
- acceptance-criteria-tracking
|
|
45
|
+
- execution-environment
|
|
43
46
|
memory: project
|
|
44
47
|
hooks:
|
|
45
48
|
SubagentStop:
|
|
@@ -93,21 +96,33 @@ Use the scoped tool patterns for quality gates:
|
|
|
93
96
|
|
|
94
97
|
Run toolchain in order: format, lint, type-check, test. Restart from step 1 if any step fails or changes files.
|
|
95
98
|
|
|
99
|
+
## Scratch Location
|
|
100
|
+
|
|
101
|
+
Concurrent child runs in one session share one session scratchpad, so every scratch file a run writes lives in a directory unique to the child.
|
|
102
|
+
|
|
103
|
+
- `SCRATCH` resolves to `<session scratchpad>/issue-<issue-num>/`, where `<issue-num>` is the plan's canonical issue number.
|
|
104
|
+
- Every scratch file, helper script, staged copy, and coverage report a plan names lives under `SCRATCH`. Subdirectories such as `SCRATCH/stage/` are permitted.
|
|
105
|
+
- Create `SCRATCH` before the first scratch write. Never write a scratch file to the scratchpad root or to a fixed shared name outside `SCRATCH`.
|
|
106
|
+
- When a plan written before this rule defines `SCRATCH` as the bare session scratchpad, treat that definition as `<session scratchpad>/issue-<issue-num>/`. This is a mechanical micro-action, not replanning.
|
|
107
|
+
- Plans and evidence artifacts record the literal token `SCRATCH`, never a host path.
|
|
108
|
+
- If two runs for the same issue can execute at once, the run-unique form `issue-<issue-num>-<yyyy-MM-ddTHH-mm>` replaces `issue-<issue-num>`.
|
|
109
|
+
|
|
96
110
|
## Preflight Validation
|
|
97
111
|
|
|
98
|
-
When
|
|
112
|
+
When the delegation prompt carries the directive `DIRECTIVE: PREFLIGHT VALIDATION ONLY`, perform validation only and return exactly one of `PREFLIGHT: ALL CLEAR` or `PREFLIGHT: REVISIONS REQUIRED`. The preflight directive belongs in the delegation prompt, never in a plan file.
|
|
99
113
|
|
|
100
114
|
- `PREFLIGHT: ALL CLEAR`
|
|
101
115
|
- `PREFLIGHT: REVISIONS REQUIRED`
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
116
|
+
- Review the entire plan in one pass and classify every defect as trivial or substantive, per `### Single-Pass Preflight` in `atomic-plan-contract`.
|
|
117
|
+
- Fix trivial defects in place, in task text only; never add, remove, or reorder tasks. Report each fix as `PREFLIGHT-FIX: <task id or heading> | <defect class> | <change made>` and name the fix record as `preflight-fix-record: <path>`.
|
|
118
|
+
- If revisions are required, include a precise plan delta that can be applied to the same plan file, with one `PREFLIGHT-DEFECT: <task id or heading> | <defect class> | <required change>` line per substantive defect.
|
|
119
|
+
- Return the result to the caller. A plan returns to the planner at most once; the orchestrator routes the defect list for one revision and runs one confirming preflight.
|
|
120
|
+
- If the required validator is unavailable, stop and report blocked state.
|
|
106
121
|
- Before any `PREFLIGHT: ALL CLEAR` result is treated as approved, the target plan must pass the `validate_orchestration_artifacts` MCP tool with `artifact_type: "plan"` and `artifact_path: <plan-path>`.
|
|
107
122
|
|
|
108
123
|
## Blocking Protocol
|
|
109
124
|
|
|
110
|
-
Blocking is permitted only during preflight validation (before `[P0-T1]`). 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. When preflight-blocked:
|
|
111
126
|
|
|
112
127
|
1. State: `BLOCKED at preflight (before [P0-T1])`.
|
|
113
128
|
2. Provide a short, concrete explanation of why.
|