@danmoisan/drm-copilot-mcp 0.0.1
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/LICENSE +21 -0
- package/README.md +50 -0
- package/out/mcp-server.js +17323 -0
- package/package.json +36 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/MEMORY.md +3 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_repo_root_is_source_of_truth.md +11 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_vsce_verify_package_location.md +19 -0
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/project_extension_location.md +11 -0
- package/resources/claude-customizations/.claude/agent-memory/prd-feature/MEMORY.md +1 -0
- package/resources/claude-customizations/.claude/agent-memory/prd-feature/project_push_down_pattern.md +13 -0
- package/resources/claude-customizations/.claude/agent-memory/task-researcher/MEMORY.md +3 -0
- package/resources/claude-customizations/.claude/agent-memory/task-researcher/project_push_down_claude_dir.md +11 -0
- package/resources/claude-customizations/.claude/agents/atomic-executor.md +135 -0
- package/resources/claude-customizations/.claude/agents/atomic-planner.md +71 -0
- package/resources/claude-customizations/.claude/agents/csharp-typed-engineer.md +69 -0
- package/resources/claude-customizations/.claude/agents/epic-review.md +40 -0
- package/resources/claude-customizations/.claude/agents/feature-review.md +136 -0
- package/resources/claude-customizations/.claude/agents/orchestrator.md +83 -0
- package/resources/claude-customizations/.claude/agents/powershell-typed-engineer.md +80 -0
- package/resources/claude-customizations/.claude/agents/prd-feature.md +42 -0
- package/resources/claude-customizations/.claude/agents/python-typed-engineer.md +72 -0
- package/resources/claude-customizations/.claude/agents/staged-review.md +41 -0
- package/resources/claude-customizations/.claude/agents/status-updater.md +41 -0
- package/resources/claude-customizations/.claude/agents/task-researcher.md +81 -0
- package/resources/claude-customizations/.claude/agents/typescript-engineer.md +24 -0
- package/resources/claude-customizations/.claude/hooks/check-powershell-test-purity.ps1 +111 -0
- package/resources/claude-customizations/.claude/hooks/check-python-test-purity.ps1 +146 -0
- package/resources/claude-customizations/.claude/hooks/enforce-evidence-locations.ps1 +150 -0
- package/resources/claude-customizations/.claude/hooks/enforce-powershell-batch-budget.ps1 +238 -0
- package/resources/claude-customizations/.claude/hooks/enforce-promotion-mcp-only.ps1 +147 -0
- package/resources/claude-customizations/.claude/hooks/enforce-python-batch-budget.ps1 +235 -0
- package/resources/claude-customizations/.claude/hooks/validate-bash.ps1 +69 -0
- package/resources/claude-customizations/.claude/hooks/validate-executor-output.ps1 +296 -0
- package/resources/claude-customizations/.claude/hooks/validate-feature-review-coverage.ps1 +389 -0
- package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output.ps1 +141 -0
- package/resources/claude-customizations/.claude/hooks/validate-planner-output.ps1 +288 -0
- package/resources/claude-customizations/.claude/hooks/validate-required-artifact-output.ps1 +171 -0
- package/resources/claude-customizations/.claude/hooks/validate-task-researcher-output.ps1 +142 -0
- package/resources/claude-customizations/.claude/rules/csharp.md +62 -0
- package/resources/claude-customizations/.claude/rules/general-code-change.md +71 -0
- package/resources/claude-customizations/.claude/rules/general-unit-test.md +60 -0
- package/resources/claude-customizations/.claude/rules/powershell.md +97 -0
- package/resources/claude-customizations/.claude/rules/python-suppressions.md +143 -0
- package/resources/claude-customizations/.claude/rules/python.md +99 -0
- package/resources/claude-customizations/.claude/rules/self-explanatory-code-commenting.md +97 -0
- package/resources/claude-customizations/.claude/rules/tonality.md +80 -0
- package/resources/claude-customizations/.claude/rules/typescript-suppressions.md +66 -0
- package/resources/claude-customizations/.claude/rules/typescript.md +45 -0
- package/resources/claude-customizations/.claude/settings.json +144 -0
- package/resources/claude-customizations/.claude/skills/acceptance-criteria-tracking/SKILL.md +102 -0
- package/resources/claude-customizations/.claude/skills/atomic-plan-contract/SKILL.md +189 -0
- package/resources/claude-customizations/.claude/skills/commit-message/SKILL.md +65 -0
- package/resources/claude-customizations/.claude/skills/csharp-change-budget-router/SKILL.md +90 -0
- package/resources/claude-customizations/.claude/skills/csharp-orchestration-state-machine/SKILL.md +58 -0
- package/resources/claude-customizations/.claude/skills/csharp-qa-gate/SKILL.md +77 -0
- package/resources/claude-customizations/.claude/skills/evidence-and-timestamp-conventions/SKILL.md +164 -0
- package/resources/claude-customizations/.claude/skills/execute-hard-lock/SKILL.md +82 -0
- package/resources/claude-customizations/.claude/skills/feature-promotion-lifecycle/SKILL.md +115 -0
- package/resources/claude-customizations/.claude/skills/feature-review-workflow/SKILL.md +167 -0
- package/resources/claude-customizations/.claude/skills/fill-feature-docs/SKILL.md +22 -0
- package/resources/claude-customizations/.claude/skills/invoke-csharp-engineer/SKILL.md +64 -0
- package/resources/claude-customizations/.claude/skills/invoke-powershell-engineer/SKILL.md +65 -0
- package/resources/claude-customizations/.claude/skills/invoke-python-engineer/SKILL.md +64 -0
- package/resources/claude-customizations/.claude/skills/make-skill-template/SKILL.md +147 -0
- package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +132 -0
- package/resources/claude-customizations/.claude/skills/policy-audit-template-usage/SKILL.md +49 -0
- package/resources/claude-customizations/.claude/skills/policy-compliance-order/SKILL.md +40 -0
- package/resources/claude-customizations/.claude/skills/powershell-change-budget-router/SKILL.md +49 -0
- package/resources/claude-customizations/.claude/skills/powershell-orchestration-state-machine/SKILL.md +58 -0
- package/resources/claude-customizations/.claude/skills/powershell-qa-gate/SKILL.md +77 -0
- package/resources/claude-customizations/.claude/skills/pr-author/SKILL.md +50 -0
- package/resources/claude-customizations/.claude/skills/pr-base-branch-merge-base/SKILL.md +56 -0
- package/resources/claude-customizations/.claude/skills/pr-context-artifacts/SKILL.md +30 -0
- package/resources/claude-customizations/.claude/skills/python-change-budget-router/SKILL.md +79 -0
- package/resources/claude-customizations/.claude/skills/python-qa-gate/SKILL.md +77 -0
- package/resources/claude-customizations/.claude/skills/remediation-handoff-atomic-planner/SKILL.md +40 -0
- package/resources/claude-customizations/.claude/skills/research-issue/SKILL.md +67 -0
- package/resources/claude-customizations/.claude/skills/review-epic/SKILL.md +21 -0
- package/resources/claude-customizations/.claude/skills/review-feature/SKILL.md +25 -0
- package/resources/claude-customizations/.claude/skills/review-staged/SKILL.md +21 -0
- package/resources/claude-customizations/.claude/skills/skill-canonical-location-audit/SKILL.md +49 -0
- package/resources/claude-customizations/.claude/skills/translate-copilot-to-claude/SKILL.md +295 -0
- package/resources/claude-customizations/.claude/skills/update-status/SKILL.md +21 -0
- package/resources/claude-dir-customizations/.mcp.json +8 -0
- package/resources/codex-and-agents-customizations/.agents/README.md +86 -0
- package/resources/codex-and-agents-customizations/.agents/skills/README.md +49 -0
- package/resources/codex-and-agents-customizations/.agents/skills/acceptance-criteria-tracking/SKILL.md +107 -0
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-executor/SKILL.md +73 -0
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-plan-contract/SKILL.md +194 -0
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-planner/SKILL.md +87 -0
- package/resources/codex-and-agents-customizations/.agents/skills/commit-message/SKILL.md +70 -0
- package/resources/codex-and-agents-customizations/.agents/skills/commit-message-conventions/SKILL.md +95 -0
- package/resources/codex-and-agents-customizations/.agents/skills/csharp/SKILL.md +67 -0
- package/resources/codex-and-agents-customizations/.agents/skills/csharp-change-budget-router/SKILL.md +94 -0
- package/resources/codex-and-agents-customizations/.agents/skills/csharp-orchestration-state-machine/SKILL.md +64 -0
- package/resources/codex-and-agents-customizations/.agents/skills/csharp-qa-gate/SKILL.md +82 -0
- package/resources/codex-and-agents-customizations/.agents/skills/evidence-and-timestamp-conventions/SKILL.md +168 -0
- package/resources/codex-and-agents-customizations/.agents/skills/execute-hard-lock/SKILL.md +88 -0
- package/resources/codex-and-agents-customizations/.agents/skills/feature-promotion-lifecycle/SKILL.md +129 -0
- package/resources/codex-and-agents-customizations/.agents/skills/feature-review/SKILL.md +106 -0
- package/resources/codex-and-agents-customizations/.agents/skills/feature-review-workflow/SKILL.md +181 -0
- package/resources/codex-and-agents-customizations/.agents/skills/fill-feature-docs/SKILL.md +27 -0
- package/resources/codex-and-agents-customizations/.agents/skills/invoke-csharp-engineer/SKILL.md +73 -0
- package/resources/codex-and-agents-customizations/.agents/skills/invoke-powershell-engineer/SKILL.md +74 -0
- package/resources/codex-and-agents-customizations/.agents/skills/invoke-python-engineer/SKILL.md +73 -0
- package/resources/codex-and-agents-customizations/.agents/skills/make-skill-template/SKILL.md +152 -0
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrate/SKILL.md +143 -0
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +317 -0
- package/resources/codex-and-agents-customizations/.agents/skills/policy-audit-template-usage/SKILL.md +53 -0
- package/resources/codex-and-agents-customizations/.agents/skills/policy-compliance-order/SKILL.md +49 -0
- package/resources/codex-and-agents-customizations/.agents/skills/powershell/SKILL.md +102 -0
- package/resources/codex-and-agents-customizations/.agents/skills/powershell-change-budget-router/SKILL.md +53 -0
- package/resources/codex-and-agents-customizations/.agents/skills/powershell-orchestration-state-machine/SKILL.md +64 -0
- package/resources/codex-and-agents-customizations/.agents/skills/powershell-qa-gate/SKILL.md +83 -0
- package/resources/codex-and-agents-customizations/.agents/skills/pr-author/SKILL.md +55 -0
- package/resources/codex-and-agents-customizations/.agents/skills/pr-authoring/SKILL.md +124 -0
- package/resources/codex-and-agents-customizations/.agents/skills/pr-base-branch-merge-base/SKILL.md +60 -0
- package/resources/codex-and-agents-customizations/.agents/skills/pr-context-artifacts/SKILL.md +34 -0
- package/resources/codex-and-agents-customizations/.agents/skills/python/SKILL.md +104 -0
- package/resources/codex-and-agents-customizations/.agents/skills/python-change-budget-router/SKILL.md +84 -0
- package/resources/codex-and-agents-customizations/.agents/skills/python-qa-gate/SKILL.md +82 -0
- package/resources/codex-and-agents-customizations/.agents/skills/python-suppressions/SKILL.md +148 -0
- package/resources/codex-and-agents-customizations/.agents/skills/remediation-handoff-atomic-planner/SKILL.md +49 -0
- package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/SKILL.md +142 -0
- package/resources/codex-and-agents-customizations/.agents/skills/repo-automation-adapter/agents/openai.yaml +5 -0
- package/resources/codex-and-agents-customizations/.agents/skills/research-issue/SKILL.md +72 -0
- package/resources/codex-and-agents-customizations/.agents/skills/review-epic/SKILL.md +26 -0
- package/resources/codex-and-agents-customizations/.agents/skills/review-feature/SKILL.md +30 -0
- package/resources/codex-and-agents-customizations/.agents/skills/review-staged/SKILL.md +26 -0
- package/resources/codex-and-agents-customizations/.agents/skills/self-explanatory-code-commenting/SKILL.md +102 -0
- package/resources/codex-and-agents-customizations/.agents/skills/skill-canonical-location-audit/SKILL.md +52 -0
- package/resources/codex-and-agents-customizations/.agents/skills/translate-copilot-to-claude/SKILL.md +317 -0
- package/resources/codex-and-agents-customizations/.agents/skills/typescript/SKILL.md +50 -0
- package/resources/codex-and-agents-customizations/.agents/skills/typescript-suppressions/SKILL.md +71 -0
- package/resources/codex-and-agents-customizations/.agents/skills/update-status/SKILL.md +26 -0
- package/resources/codex-and-agents-customizations/.codex/agents/5.1-beast-adjusted.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/5.1-thinking-beast-mode-adjusted.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/api-architect.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-executor.toml +151 -0
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planner.toml +93 -0
- package/resources/codex-and-agents-customizations/.codex/agents/atomic-planning.toml +24 -0
- package/resources/codex-and-agents-customizations/.codex/agents/commentary-remediation.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/commit-steward.toml +20 -0
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-atomic-executor.toml +24 -0
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-atomic-planning.toml +25 -0
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-orchestrator.toml +56 -0
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer.toml +97 -0
- package/resources/codex-and-agents-customizations/.codex/agents/epic-review.toml +52 -0
- package/resources/codex-and-agents-customizations/.codex/agents/expert-nextjs-developer.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/expert-react-frontend-engineer.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/feature-review.toml +149 -0
- package/resources/codex-and-agents-customizations/.codex/agents/feature-reviewer.toml +60 -0
- package/resources/codex-and-agents-customizations/.codex/agents/gpt-5-beast-mode.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/hlbpa.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/mentor.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/orchestrator.toml +121 -0
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-executor.toml +24 -0
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-atomic-planning.toml +25 -0
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-di-unit-test-engineer.toml +24 -0
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-orchestrator.toml +56 -0
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer.toml +108 -0
- package/resources/codex-and-agents-customizations/.codex/agents/pr-author.toml +26 -0
- package/resources/codex-and-agents-customizations/.codex/agents/prd-feature.toml +53 -0
- package/resources/codex-and-agents-customizations/.codex/agents/prd.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/pytest-unit-test-coding.toml +24 -0
- package/resources/codex-and-agents-customizations/.codex/agents/python-atomic-executor.toml +24 -0
- package/resources/codex-and-agents-customizations/.codex/agents/python-atomic-planning.toml +25 -0
- package/resources/codex-and-agents-customizations/.codex/agents/python-execution-only-typed.toml +24 -0
- package/resources/codex-and-agents-customizations/.codex/agents/python-orchestrator.toml +54 -0
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer.toml +100 -0
- package/resources/codex-and-agents-customizations/.codex/agents/staged-review.toml +53 -0
- package/resources/codex-and-agents-customizations/.codex/agents/status-updater.toml +53 -0
- package/resources/codex-and-agents-customizations/.codex/agents/task-researcher.toml +103 -0
- package/resources/codex-and-agents-customizations/.codex/agents/tdd-green.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/tdd-red.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/tdd-refactor.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/agents/typescript-engineer.toml +48 -0
- package/resources/codex-and-agents-customizations/.codex/agents/voidbeast-gpt41enhanced.toml +23 -0
- package/resources/codex-and-agents-customizations/.codex/codex-web-setup.plan.md +26 -0
- package/resources/codex-and-agents-customizations/.codex/codex-web-setup.sh +384 -0
- package/resources/codex-and-agents-customizations/.codex/config.toml +137 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/check-powershell-test-purity.ps1 +113 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/check-python-test-purity.ps1 +149 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-evidence-locations.ps1 +153 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-powershell-batch-budget.ps1 +241 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-promotion-mcp-only.ps1 +150 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-python-batch-budget.ps1 +238 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/validate-bash.ps1 +72 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/validate-feature-review-coverage.ps1 +265 -0
- package/resources/codex-and-agents-customizations/.codex/prompts/feature-review-remediate.md +10 -0
- package/resources/codex-and-agents-customizations/.codex/prompts/generate-commit-message-repo.md +11 -0
- package/resources/codex-and-agents-customizations/.codex/prompts/generate-pr.md +15 -0
- package/resources/codex-and-agents-customizations/.codex/prompts/orchestrate-work.md +22 -0
- package/resources/codex-and-agents-customizations/AGENTS.md +317 -0
- package/resources/customizations/.github/agents/5.1-Beast-adjusted.agent.md +181 -0
- package/resources/customizations/.github/agents/5.1-Thinking-Beast-Mode-adjusted.agent.md +361 -0
- package/resources/customizations/.github/agents/Powershell DI Unit Test Engineer.agent.md +192 -0
- package/resources/customizations/.github/agents/api-architect.agent.md +40 -0
- package/resources/customizations/.github/agents/atomic_executor.agent.md +251 -0
- package/resources/customizations/.github/agents/atomic_planning.agent.md +658 -0
- package/resources/customizations/.github/agents/commentary-remediation.agent.md +35 -0
- package/resources/customizations/.github/agents/commit-steward.agent.md +200 -0
- package/resources/customizations/.github/agents/csharp-atomic-executor.agent.md +288 -0
- package/resources/customizations/.github/agents/csharp-atomic-planning.agent.md +354 -0
- package/resources/customizations/.github/agents/csharp-orchestrator.agent.md +375 -0
- package/resources/customizations/.github/agents/csharp-typed-engineer.agent.md +285 -0
- package/resources/customizations/.github/agents/epic-review.agent.md +374 -0
- package/resources/customizations/.github/agents/expert-nextjs-developer.agent.md +477 -0
- package/resources/customizations/.github/agents/expert-react-frontend-engineer.agent.md +739 -0
- package/resources/customizations/.github/agents/feature-review.agent.md +49 -0
- package/resources/customizations/.github/agents/gpt-5-beast-mode.agent.md +116 -0
- package/resources/customizations/.github/agents/hlbpa.agent.md +219 -0
- package/resources/customizations/.github/agents/mentor.agent.md +32 -0
- package/resources/customizations/.github/agents/orchestrator.agent.md +449 -0
- package/resources/customizations/.github/agents/powershell-atomic-executor.agent.md +287 -0
- package/resources/customizations/.github/agents/powershell-atomic-planning.agent.md +647 -0
- package/resources/customizations/.github/agents/powershell-orchestrator.agent.md +382 -0
- package/resources/customizations/.github/agents/powershell-typed-engineer.agent.md +293 -0
- package/resources/customizations/.github/agents/pr-author.agent.md +138 -0
- package/resources/customizations/.github/agents/prd-feature.agent.md +52 -0
- package/resources/customizations/.github/agents/prd.agent.md +202 -0
- package/resources/customizations/.github/agents/pytest-unit-test-coding.agent.md +202 -0
- package/resources/customizations/.github/agents/python-atomic-executor.agent.md +289 -0
- package/resources/customizations/.github/agents/python-atomic-planning.agent.md +429 -0
- package/resources/customizations/.github/agents/python-execution-only-typed.agent.md +217 -0
- package/resources/customizations/.github/agents/python-orchestrator.agent.md +380 -0
- package/resources/customizations/.github/agents/python-typed-engineer.agent.md +271 -0
- package/resources/customizations/.github/agents/staged-review.agent.md +246 -0
- package/resources/customizations/.github/agents/status_updater.agent.md +279 -0
- package/resources/customizations/.github/agents/task-researcher.agent.md +298 -0
- package/resources/customizations/.github/agents/tdd-green.agent.md +60 -0
- package/resources/customizations/.github/agents/tdd-red.agent.md +66 -0
- package/resources/customizations/.github/agents/tdd-refactor.agent.md +94 -0
- package/resources/customizations/.github/agents/typescript-engineer.agent.md +167 -0
- package/resources/customizations/.github/agents/voidbeast-gpt41enhanced.agent.md +230 -0
- package/resources/customizations/.github/codex/execute-hard-lock.prompt.md +105 -0
- package/resources/customizations/.github/codex/resume-hard-lock.prompt.md +92 -0
- package/resources/customizations/.github/copilot-instructions.md +7 -0
- package/resources/customizations/.github/instructions/csharp-code-change.instructions.md +184 -0
- package/resources/customizations/.github/instructions/csharp-unit-test.instructions.md +52 -0
- package/resources/customizations/.github/instructions/general-code-change.instructions.md +290 -0
- package/resources/customizations/.github/instructions/general-unit-test.instructions.md +106 -0
- package/resources/customizations/.github/instructions/github-actions-ci-cd-best-practices.instructions.md +607 -0
- package/resources/customizations/.github/instructions/github-actions.instructions.md +23 -0
- package/resources/customizations/.github/instructions/powershell-code-change.instructions.md +81 -0
- package/resources/customizations/.github/instructions/powershell-unit-test.instructions.md +69 -0
- package/resources/customizations/.github/instructions/python-code-change.instructions.md +232 -0
- package/resources/customizations/.github/instructions/python-suppressions.instructions.md +609 -0
- package/resources/customizations/.github/instructions/python-unit-test.instructions.md +71 -0
- package/resources/customizations/.github/instructions/self-explanatory-code-commenting.instructions.md +238 -0
- package/resources/customizations/.github/instructions/tonality.instructions.md +133 -0
- package/resources/customizations/.github/instructions/typescript-code-change.instructions.md +203 -0
- package/resources/customizations/.github/instructions/typescript-suppressions.instructions.md +157 -0
- package/resources/customizations/.github/instructions/typescript-unit-test.instructions.md +112 -0
- package/resources/customizations/.github/prompts/add-educational-comments.prompt.md +129 -0
- package/resources/customizations/.github/prompts/breakdown-bug-prd.prompt.md +29 -0
- package/resources/customizations/.github/prompts/breakdown-epic-arch.prompt.md +66 -0
- package/resources/customizations/.github/prompts/breakdown-epic-pm.prompt.md +58 -0
- package/resources/customizations/.github/prompts/breakdown-feature-implementation.prompt.md +128 -0
- package/resources/customizations/.github/prompts/breakdown-feature-prd.prompt.md +61 -0
- package/resources/customizations/.github/prompts/code-exemplars-blueprint-generator.prompt.md +126 -0
- package/resources/customizations/.github/prompts/drafts/create-github-issues-feature-from-implementation-plan.prompt.md +28 -0
- package/resources/customizations/.github/prompts/drafts/create-implementation-plan.prompt.md +158 -0
- package/resources/customizations/.github/prompts/drafts/create-technical-spike.prompt.md +231 -0
- package/resources/customizations/.github/prompts/drafts/potential-feature-prd.prompt.md +19 -0
- package/resources/customizations/.github/prompts/drafts/update-implementation-plan.prompt.md +158 -0
- package/resources/customizations/.github/prompts/execute-plan-template.md +21 -0
- package/resources/customizations/.github/prompts/export-chat.prompt.md +7 -0
- package/resources/customizations/.github/prompts/fillout-prd-feature.prompt.md +46 -0
- package/resources/customizations/.github/prompts/generate-atomic-plan.prompt.md +96 -0
- package/resources/customizations/.github/prompts/generate-commit-message-repo.prompt.md +108 -0
- package/resources/customizations/.github/prompts/generate-pr.prompt.md +151 -0
- package/resources/customizations/.github/prompts/javascript-typescript-jest.prompt.md +44 -0
- package/resources/customizations/.github/prompts/orchestrate-csharp-work.prompt.md +66 -0
- package/resources/customizations/.github/prompts/orchestrate-powershell-work.prompt.md +50 -0
- package/resources/customizations/.github/prompts/orchestrate-python-work.prompt.md +50 -0
- package/resources/customizations/.github/prompts/orchestrate-work.prompt.md +66 -0
- package/resources/customizations/.github/prompts/remediate-comments.prompt.md +53 -0
- package/resources/customizations/.github/prompts/research-issue.prompt.md +125 -0
- package/resources/customizations/.github/prompts/review-epic.prompt.md +94 -0
- package/resources/customizations/.github/prompts/review-feature.prompt.md +130 -0
- package/resources/customizations/.github/prompts/review-staged.prompt.md +43 -0
- package/resources/customizations/.github/prompts/update_status.prompt.md +68 -0
- package/resources/customizations/.github/skills/README.md +26 -0
- package/resources/customizations/.github/skills/acceptance-criteria-tracking/SKILL.md +102 -0
- package/resources/customizations/.github/skills/atomic-plan-contract/SKILL.md +174 -0
- package/resources/customizations/.github/skills/csharp-change-budget-router/SKILL.md +48 -0
- package/resources/customizations/.github/skills/csharp-orchestration-state-machine/SKILL.md +57 -0
- package/resources/customizations/.github/skills/evidence-and-timestamp-conventions/SKILL.md +135 -0
- package/resources/customizations/.github/skills/feature-promotion-lifecycle/SKILL.md +121 -0
- package/resources/customizations/.github/skills/feature-review-workflow/SKILL.md +153 -0
- package/resources/customizations/.github/skills/make-skill-template/SKILL.md +147 -0
- package/resources/customizations/.github/skills/policy-audit-template-usage/SKILL.md +48 -0
- package/resources/customizations/.github/skills/policy-compliance-order/SKILL.md +37 -0
- package/resources/customizations/.github/skills/powershell-change-budget-router/SKILL.md +48 -0
- package/resources/customizations/.github/skills/powershell-orchestration-state-machine/SKILL.md +57 -0
- package/resources/customizations/.github/skills/pr-base-branch-merge-base/SKILL.md +55 -0
- package/resources/customizations/.github/skills/pr-context-artifacts/SKILL.md +29 -0
- package/resources/customizations/.github/skills/remediation-handoff-atomic-planner/SKILL.md +39 -0
- package/resources/customizations/.github/skills/skill-canonical-location-audit/SKILL.md +48 -0
- package/resources/feature-templates/bug/plan.yyyy-MM-ddTHH-mm.md +44 -0
- package/resources/feature-templates/bug/potential_bug.md +59 -0
- package/resources/feature-templates/bug/spec.md +99 -0
- package/resources/feature-templates/epic/initiative.md +43 -0
- package/resources/feature-templates/feature/plan.yyyy-MM-ddTHH-mm.md +53 -0
- package/resources/feature-templates/feature/spec.md +66 -0
- package/resources/feature-templates/feature/user-story.md +42 -0
- package/resources/feature-templates/potential/template.md +33 -0
- package/resources/feature-templates/refactor/plan.yyyy-MM-ddTHH-mm.md +52 -0
- package/resources/feature-templates/refactor/spec.md +69 -0
- package/resources/powershell/PoshQC/PoshQC.Analyzer.psm1 +254 -0
- package/resources/powershell/PoshQC/PoshQC.FileDiscovery.psm1 +138 -0
- package/resources/powershell/PoshQC/PoshQC.Testing.psm1 +409 -0
- package/resources/powershell/PoshQC/PoshQC.psd1 +31 -0
- package/resources/powershell/PoshQC/PoshQC.psm1 +101 -0
- package/resources/powershell/PoshQC/README.md +80 -0
- package/resources/powershell/PoshQC/settings/pester.runsettings.psd1 +59 -0
- package/resources/powershell/PoshQC/settings/pssa.settings.psd1 +55 -0
- package/resources/scripts/dev_tools/__init__.py +0 -0
- package/resources/scripts/dev_tools/agentic_sync.py +819 -0
- package/resources/scripts/dev_tools/codex_native_converter/__init__.py +11 -0
- package/resources/scripts/dev_tools/codex_native_converter/__main__.py +6 -0
- package/resources/scripts/dev_tools/codex_native_converter/cli.py +11 -0
- package/resources/scripts/dev_tools/new_active_feature_folder.py +79 -0
- package/resources/scripts/dev_tools/new_active_feature_folder_docs.py +268 -0
- package/resources/scripts/dev_tools/new_active_feature_folder_flow.py +366 -0
- package/resources/scripts/dev_tools/new_active_feature_folder_io.py +306 -0
- package/resources/scripts/dev_tools/new_active_feature_folder_markdown.py +252 -0
- package/resources/scripts/dev_tools/new_active_feature_folder_models.py +136 -0
- package/resources/scripts/dev_tools/new_potential_bug_entry.py +465 -0
- package/resources/scripts/dev_tools/potential_to_issue.py +421 -0
- package/resources/scripts/dev_tools/potential_to_issue_content.py +212 -0
- package/resources/scripts/dev_tools/pr_context/__init__.py +0 -0
- package/resources/scripts/dev_tools/pr_context/collector.py +619 -0
- package/resources/scripts/dev_tools/pr_context/feature_docs.py +349 -0
- package/resources/scripts/dev_tools/pr_context/git.py +153 -0
- package/resources/scripts/dev_tools/pr_context/github.py +549 -0
- package/resources/scripts/dev_tools/pr_context/models.py +198 -0
- package/resources/scripts/dev_tools/pr_context/render.py +342 -0
- package/resources/scripts/dev_tools/pr_context/render_feature_excerpts.py +256 -0
- package/resources/scripts/dev_tools/pr_context/render_pr_helpers.py +291 -0
- package/resources/scripts/dev_tools/pr_context/summary_helpers.py +386 -0
- package/resources/scripts/dev_tools/pr_context/verification_evidence.py +171 -0
- package/resources/scripts/dev_tools/prompt_mode_contract.py +152 -0
- package/resources/scripts/dev_tools/push_down_claude_customizations.py +188 -0
- package/resources/scripts/dev_tools/push_down_codex_and_agents_customizations.py +139 -0
- package/resources/scripts/dev_tools/push_down_copilot_customizations.py +504 -0
- package/resources/scripts/dev_tools/push_down_copilot_customizations_filesystem.py +217 -0
- package/resources/scripts/dev_tools/push_down_copilot_customizations_rewrites.py +293 -0
- package/resources/scripts/dev_tools/resolve_file_prompt.py +457 -0
- package/resources/scripts/dev_tools/resolve_hard_lock_prompt.py +444 -0
- package/resources/scripts/dev_tools/validate_orchestration_artifacts.py +554 -0
- package/resources/templates/codex_native_converter.py +35 -0
- package/resources/templates/collect_commit_context.py +212 -0
- package/resources/templates/collect_pr_context.py +74 -0
- package/resources/templates/hello_pwsh.ps1 +3 -0
- package/resources/templates/hello_python.py +11 -0
- package/resources/templates/link-parent-child.ps1 +480 -0
- package/resources/templates/new-claude-worktree-session.ps1 +232 -0
- package/resources/templates/new-potential-entry.ps1 +187 -0
- package/resources/templates/new_active_feature_folder.py +67 -0
- package/resources/templates/new_potential_bug_entry.py +54 -0
- package/resources/templates/policy_audit/AGENTS.md +117 -0
- package/resources/templates/policy_audit/code-review.yyyy-MM-ddTHH-mm.md +165 -0
- package/resources/templates/policy_audit/feature-audit.yyyy-MM-ddTHH-mm.md +124 -0
- package/resources/templates/policy_audit/policy-audit.yyyy-MM-ddTHH-mm.md +649 -0
- package/resources/templates/potential_to_issue.py +55 -0
- package/resources/templates/push_down_claude_customizations.py +188 -0
- package/resources/templates/push_down_codex_and_agents_customizations.py +95 -0
- package/resources/templates/push_down_copilot_customizations.py +124 -0
- package/resources/templates/resolve_atomic_plan_prompt.py +75 -0
- package/resources/templates/resolve_hard_lock_prompt.py +65 -0
- package/resources/templates/run-poshqc-analyze-autofix.ps1 +16 -0
- package/resources/templates/run-poshqc-analyze.ps1 +26 -0
- package/resources/templates/run-poshqc-format.ps1 +26 -0
- package/resources/templates/run-poshqc-suite.ps1 +24 -0
- package/resources/templates/run-poshqc-test.ps1 +32 -0
- package/resources/templates/sync-agents-from-instructions.ps1 +400 -0
- package/resources/templates/validate_orchestration_artifacts.py +55 -0
- package/resources/templates/vscode-cli.helpers.ps1 +63 -0
|
@@ -0,0 +1,649 @@
|
|
|
1
|
+
# Policy Compliance Audit: [Component Name]
|
|
2
|
+
|
|
3
|
+
> **Template Usage Instructions:**
|
|
4
|
+
>
|
|
5
|
+
> This template is for documenting policy compliance during agent-driven development. Use it to audit any code changes (features, bugfixes, refactors) or test additions.
|
|
6
|
+
>
|
|
7
|
+
> **How to use:**
|
|
8
|
+
> 1. Copy this template to your working directory (feature folder, PR docs, etc.)
|
|
9
|
+
> 2. Replace all `[placeholders]` with actual values
|
|
10
|
+
> 3. Use `[✅/❌/N/A]` and `[PASS/FAIL/N/A]` to mark status
|
|
11
|
+
> 4. Delete inapplicable sections (e.g., delete Python sections for PowerShell work)
|
|
12
|
+
> 5. Fill in evidence based on actual test runs and code inspection
|
|
13
|
+
> 6. Complete before submitting PR or marking work as done
|
|
14
|
+
>
|
|
15
|
+
> **When to use:**
|
|
16
|
+
> - After completing any code changes (required by policy)
|
|
17
|
+
> - Before submitting PRs
|
|
18
|
+
> - When adding or updating tests
|
|
19
|
+
> - During bugfix implementation (see Bugfix Playbook)
|
|
20
|
+
> - For feature development (see Feature Playbook)
|
|
21
|
+
>
|
|
22
|
+
> **Delete this instruction block before finalizing the audit.**
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
**Audit Date:** [YYYY-MM-DD]
|
|
27
|
+
**Code Under Test:** [List all files modified across all languages]
|
|
28
|
+
|
|
29
|
+
**Coverage Metrics by Language:**
|
|
30
|
+
|
|
31
|
+
| Language | Files Changed | Tests | Test Result | Baseline Coverage | Post-Change Coverage | New Code Coverage |
|
|
32
|
+
|----------|--------------|-------|-------------|-------------------|---------------------|-------------------|
|
|
33
|
+
| Python | [N] files | [N] tests | [✅/❌] [N] pass, [N] fail | [N]% lines, [N]% funcs | [N]% lines, [N]% funcs | [N]% |
|
|
34
|
+
| PowerShell | [N] files | [N] tests | [✅/❌] [N] pass, [N] fail | [N]% cmds, [N]% funcs | [N]% cmds, [N]% funcs | [N]% |
|
|
35
|
+
| Bash | [N] files | [N/A] tests | [✅/❌/N/A] | N/A (no coverage) | N/A (no coverage) | N/A |
|
|
36
|
+
| JSON | [N] files | N/A | [✅/❌] validation | N/A (config files) | N/A (config files) | N/A |
|
|
37
|
+
|
|
38
|
+
**Note:** Delete rows for languages not involved in this change. Add rows if additional languages are used.
|
|
39
|
+
|
|
40
|
+
### Coverage Evidence Checklist
|
|
41
|
+
|
|
42
|
+
- TypeScript baseline coverage artifact: [path or `N/A - out of scope`]
|
|
43
|
+
- TypeScript post-change coverage artifact: [path or `N/A - out of scope`]
|
|
44
|
+
- PowerShell baseline coverage artifact: [path or `N/A - out of scope`]
|
|
45
|
+
- PowerShell post-change coverage artifact: [path or `N/A - out of scope`]
|
|
46
|
+
- Per-language comparison summary: [section reference or artifact path]
|
|
47
|
+
|
|
48
|
+
**Non-negotiable verdict rule:** No policy audit may report PASS unless it includes numeric baseline and post-change coverage metrics for every language in scope, plus changed/new-code coverage when required.
|
|
49
|
+
|
|
50
|
+
**Fail-closed rule:** If any required baseline artifact, QA artifact, or coverage-comparison artifact is missing, the verdict must be BLOCKED or INCOMPLETE, never PASS.
|
|
51
|
+
|
|
52
|
+
**Evidence rule:** Do not synthesize or backfill missing audit evidence from memory or inference. If evidence is missing, stop and list the exact missing artifact paths.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Executive Summary
|
|
57
|
+
|
|
58
|
+
[Summarize overall compliance status and key findings. List which policy documents were evaluated. Provide a brief overview of what was tested and the outcome of toolchain execution.]
|
|
59
|
+
|
|
60
|
+
**Policy documents evaluated:**
|
|
61
|
+
- [✅/❌] `general-code-change.instructions.md` (if applicable)
|
|
62
|
+
- [✅/❌] `general-unit-test.instructions.md` (if testing)
|
|
63
|
+
|
|
64
|
+
**Language-specific policies evaluated:**
|
|
65
|
+
- [✅/❌/N/A] `python-code-change.instructions.md` + `python-unit-test.instructions.md`
|
|
66
|
+
- [✅/❌/N/A] `powershell-code-change.instructions.md` + `powershell-unit-test.instructions.md`
|
|
67
|
+
- [✅/❌/N/A] Bash: shfmt + shellcheck + bats (if applicable)
|
|
68
|
+
- [✅/❌/N/A] JSON: format_json + validate_json (if applicable)
|
|
69
|
+
|
|
70
|
+
**Note:** Check all languages involved in this change. N/A for unused languages.
|
|
71
|
+
|
|
72
|
+
[Brief summary of test coverage, toolchain results, and compliance status.]
|
|
73
|
+
|
|
74
|
+
**Temporary artifacts cleanup:**
|
|
75
|
+
- [✅/❌] All temporary/one-time scripts created during development have been deleted
|
|
76
|
+
- [✅/❌] Any ongoing tooling scripts are fully tested and compliant with repo policies
|
|
77
|
+
- [List any scripts created during development and their disposition: deleted or kept with tests]
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 1. General Unit Test Policy Compliance
|
|
82
|
+
|
|
83
|
+
### 1.1 Core Principles
|
|
84
|
+
|
|
85
|
+
| Requirement | Status | Evidence |
|
|
86
|
+
|------------|--------|----------|
|
|
87
|
+
| **Independence** - Tests run in any order | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how tests demonstrate independence. Do they share state? Can they run in parallel? Do they use proper setup/teardown?] |
|
|
88
|
+
| **Isolation** - Each test targets single behavior | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how each test targets a single unit. List test organization structure. Explain how tests are grouped.] |
|
|
89
|
+
| **Fast Execution** - Tests complete quickly | [✅/❌/N/A] [PASS/FAIL/N/A] | [Report total execution time, average per test, discovery time. Identify any slow tests.] |
|
|
90
|
+
| **Determinism** - Consistent results | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how tests avoid randomness, time dependencies, and external I/O. List mocking strategy.] |
|
|
91
|
+
| **Readability & Maintainability** - Clear structure | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe test naming conventions, organization patterns, and documentation approach.] |
|
|
92
|
+
|
|
93
|
+
### 1.2 Coverage and Scenarios
|
|
94
|
+
|
|
95
|
+
| Requirement | Status | Evidence |
|
|
96
|
+
|------------|--------|----------|
|
|
97
|
+
| **Baseline Coverage Documented** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Baseline (pre-development):** [N]% lines, [N]% functions<br>**Command:** `[coverage command]`<br>**Timestamp:** [YYYY-MM-DD HH:MM]<br>**Note:** Document baseline BEFORE making changes to avoid re-computation during audit. |
|
|
98
|
+
| **No Coverage Regression** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Post-change coverage:** [N]% lines, [N]% functions<br>**Change:** [+/-N]% lines, [+/-N]% functions<br>**Status:** [No regression / Regression detected: justification]<br>**Example:** "Baseline: 85.2% → Post-change: 87.1% (+1.9%) ✅ PASS" |
|
|
99
|
+
| **New Code Coverage ≥90%** | [✅/❌/N/A] [PASS/FAIL/N/A] | **New/modified files:** [list files]<br>**New code coverage:** [N]% (must be ≥90%)<br>**Calculation method:** [describe how new code was isolated for measurement]<br>**Example:** "New module `foo.py`: 127/135 lines covered = 94.1% ✅ PASS" |
|
|
100
|
+
| **Comprehensive Coverage** | [✅/❌/N/A] [PASS/FAIL/N/A] | **All functions/classes tested:**<br>- `function_name()` (lines X-Y): [N] tests<br>- `ClassName` (lines A-B): [N] tests<br>**Untested code:** [list with justification]<br>**Example:**<br>- `parse_config()` (lines 45-67): 3 tests<br>- `ConfigLoader` (lines 100-150): 5 tests<br>- Untested: `__repr__()` (trivial representation, no business logic) |
|
|
101
|
+
| **Positive Flows** - Valid inputs | [✅/❌/N/A] [PASS/FAIL/N/A] | **All positive scenarios tested:**<br>- `test_function_with_valid_string`: Tests normal string input → returns expected output<br>- `test_function_with_valid_number`: Tests numeric input in valid range → performs calculation<br>- `test_function_with_default_params`: Tests function with default parameters → uses correct defaults<br>**Total positive tests:** [N] |
|
|
102
|
+
| **Negative Flows** - Invalid inputs | [✅/❌/N/A] [PASS/FAIL/N/A] | **All negative scenarios tested:**<br>- `test_function_rejects_none`: Input `None` → raises `ValueError` with message "Input cannot be None"<br>- `test_function_rejects_empty_string`: Input `""` → raises `ValueError` with message "Input cannot be empty"<br>- `test_function_rejects_negative_number`: Input `-5` → raises `ValueError` with message "Value must be positive"<br>- `test_function_rejects_wrong_type`: Input `123` (expected str) → raises `TypeError` with message "Expected string, got int"<br>**Total negative tests:** [N] |
|
|
103
|
+
| **Edge Cases** - Boundary conditions | [✅/❌/N/A] [PASS/FAIL/N/A] | **All edge cases tested:**<br>- `test_function_with_empty_list`: Input `[]` → returns empty result<br>- `test_function_with_max_length_string`: Input 255-char string (boundary) → processes correctly<br>- `test_function_with_unicode_chars`: Input `"café ☕"` → handles Unicode correctly<br>- `test_function_with_whitespace`: Input `" spaces "` → strips/preserves as designed<br>**Total edge case tests:** [N] |
|
|
104
|
+
| **Error Handling** - Error paths | [✅/❌/N/A] [PASS/FAIL/N/A] | **All error scenarios tested:**<br>- `test_function_handles_network_timeout`: Mock network timeout → raises `TimeoutError` after retry<br>- `test_function_handles_file_not_found`: Missing file → raises `FileNotFoundError` with filepath<br>- `test_function_handles_json_parse_error`: Invalid JSON → raises `JSONDecodeError` with line number<br>**Total error handling tests:** [N] |
|
|
105
|
+
| **Concurrency** - If applicable | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe concurrency testing or explain why it's not applicable. If applicable, describe how race conditions and thread safety are tested.] |
|
|
106
|
+
| **State Transitions** - If applicable | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe state transition testing or explain why it's not applicable. If applicable, show that all state transitions are tested.] |
|
|
107
|
+
|
|
108
|
+
### 1.2.1 Per-Language Coverage Comparison
|
|
109
|
+
|
|
110
|
+
Repeat one bullet per in-scope language that has coverage requirements. Keep the checklist above even when a language is out of scope, but use `N/A - out of scope` for the artifact path.
|
|
111
|
+
|
|
112
|
+
- [Language]: Baseline: [N]% [unit] -> Post-change: [N]% [unit]. Change: [+/-N]% [unit delta]. New/changed-code coverage: [N]% or `N/A - out of scope`. Disposition: [PASS/FAIL/N/A]. Evidence: [artifact path(s)].
|
|
113
|
+
|
|
114
|
+
### 1.3 Test Structure and Diagnostics
|
|
115
|
+
|
|
116
|
+
| Requirement | Status | Evidence |
|
|
117
|
+
|------------|--------|----------|
|
|
118
|
+
| **Clear Failure Messages** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe assertion strategy and failure message quality. Show examples of diagnostic output from failing tests.] |
|
|
119
|
+
| **Arrange-Act-Assert Pattern** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how tests follow AAA pattern. Explain setup, execution, and assertion phases.] |
|
|
120
|
+
| **Document Intent** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Show test naming conventions and documentation approach. Provide examples of test names and describe how tests are grouped.] |
|
|
121
|
+
|
|
122
|
+
### 1.4 External Dependencies and Environment
|
|
123
|
+
|
|
124
|
+
| Requirement | Status | Evidence |
|
|
125
|
+
|------------|--------|----------|
|
|
126
|
+
| **Avoid External Dependencies** | [✅/❌/N/A] [PASS/FAIL/N/A] | [List any external dependencies (databases, networks, APIs, processes, filesystem). If none, explicitly state this.] |
|
|
127
|
+
| **Use Mocks/Stubs** | [✅/❌/N/A] [PASS/FAIL/N/A] | [List all mocked/stubbed components and why they were mocked. Explain mocking strategy.] |
|
|
128
|
+
| **Environment Stability** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how tests avoid environment dependencies. Note any global state, config files, or temporary files. Confirm no prohibited temporary file creation.] |
|
|
129
|
+
|
|
130
|
+
### 1.5 Policy Audit Requirement
|
|
131
|
+
|
|
132
|
+
| Requirement | Status | Evidence |
|
|
133
|
+
|------------|--------|----------|
|
|
134
|
+
| **Pre-submission Review** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm that this audit document serves as the required policy review. Note any outstanding review items.] |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 2. General Code Change Policy Compliance
|
|
139
|
+
|
|
140
|
+
### 2.1 Before Making Changes
|
|
141
|
+
|
|
142
|
+
| Requirement | Status | Evidence |
|
|
143
|
+
|------------|--------|----------|
|
|
144
|
+
| **Clarify the objective** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe what objective was being pursued. Reference issue numbers or feature specs if applicable.] |
|
|
145
|
+
| **Read existing change plans** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Note whether existing change plans were reviewed. List any relevant planning documents.] |
|
|
146
|
+
| **Document the plan** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Reference where the plan was documented (commit messages, planning docs, etc.).] |
|
|
147
|
+
|
|
148
|
+
### 2.2 Design Principles
|
|
149
|
+
|
|
150
|
+
| Requirement | Status | Evidence |
|
|
151
|
+
|------------|--------|----------|
|
|
152
|
+
| **Simplicity first** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how the code demonstrates simplicity. Note any complexity and its justification.] |
|
|
153
|
+
| **Reusability** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe what was reused and how. Note any shared patterns or helpers used.] |
|
|
154
|
+
| **Extensibility** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how the design supports future extension. Note any extension points.] |
|
|
155
|
+
| **Separation of concerns** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how different concerns are separated. Note the layering strategy.] |
|
|
156
|
+
|
|
157
|
+
### 2.3 Module & File Structure
|
|
158
|
+
|
|
159
|
+
| Requirement | Status | Evidence |
|
|
160
|
+
|------------|--------|----------|
|
|
161
|
+
| **Cohesive modules** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe the purpose and cohesion of each module/file. Note organization strategy.] |
|
|
162
|
+
| **Under 500 lines** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Report line counts for all files. Note any exceptions and justifications.] |
|
|
163
|
+
| **Public vs internal** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe the public API surface. Note how internals are hidden.] |
|
|
164
|
+
| **No circular dependencies** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe the dependency graph. Confirm no circular dependencies exist.] |
|
|
165
|
+
|
|
166
|
+
### 2.4 Naming, Docs, and Comments
|
|
167
|
+
|
|
168
|
+
| Requirement | Status | Evidence |
|
|
169
|
+
|------------|--------|----------|
|
|
170
|
+
| **Descriptive names** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe naming conventions used. Provide examples of well-named elements.] |
|
|
171
|
+
| **Docs/docstrings** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe documentation approach. Note coverage of public APIs.] |
|
|
172
|
+
| **Comment why, not what** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe commenting approach. Provide examples of good comments explaining rationale.] |
|
|
173
|
+
|
|
174
|
+
### 2.5 After Making Changes - Toolchain Execution
|
|
175
|
+
|
|
176
|
+
| Requirement | Status | Evidence |
|
|
177
|
+
|------------|--------|----------|
|
|
178
|
+
| **1. Formatting** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `[formatting command]`<br>**Result:** [Describe result - no changes needed, or changes applied] |
|
|
179
|
+
| **2. Linting** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `[linting command]`<br>**Result:** [Describe result - no findings, or findings fixed] |
|
|
180
|
+
| **3. Type checking** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `[type checking command]`<br>**Result:** [Describe result - no errors, or errors fixed, or N/A for PowerShell] |
|
|
181
|
+
| **4. Testing** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `[test command]`<br>**Result:** [Describe result - all tests passing] |
|
|
182
|
+
| **Full toolchain loop** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm all steps completed in single pass, or describe how many iterations were needed.] |
|
|
183
|
+
| **Explicit reporting** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm commands and results are documented in this audit and/or commit messages.] |
|
|
184
|
+
|
|
185
|
+
### 2.6 Summarize and Document
|
|
186
|
+
|
|
187
|
+
| Requirement | Status | Evidence |
|
|
188
|
+
|------------|--------|----------|
|
|
189
|
+
| **Summarize changes** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Summarize what was changed. Reference PR description and commit messages.] |
|
|
190
|
+
| **Design choices explained** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Explain key design decisions. Note any alternatives considered.] |
|
|
191
|
+
| **Update supporting documents** | [✅/❌/N/A] [PASS/FAIL/N/A] | [List any documentation updated (README, specs, runbooks, etc.).] |
|
|
192
|
+
| **Provide next steps** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe what should happen next. Note completion status and readiness for merge/deployment.] |
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## 3. Language-Specific Code Change Policy Compliance
|
|
197
|
+
|
|
198
|
+
**Instructions:** Complete one section per language involved in this change. Delete sections for languages not used.
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
### Section 3A: Python Code Change Policy Compliance (if applicable)
|
|
203
|
+
|
|
204
|
+
#### 3A.1 Tooling & Baseline
|
|
205
|
+
|
|
206
|
+
| Requirement | Status | Evidence |
|
|
207
|
+
|------------|--------|----------|
|
|
208
|
+
| **Formatting with Black** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run black .`<br>**Result:** [Describe result] |
|
|
209
|
+
| **Linting with Ruff** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run ruff check`<br>**Result:** [Describe result] |
|
|
210
|
+
| **Type checking with Pyright** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run pyright`<br>**Result:** [Describe result] |
|
|
211
|
+
| **Testing with Pytest** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run pytest`<br>**Result:** [Describe result] |
|
|
212
|
+
|
|
213
|
+
#### 3A.2 Python Design & Typing
|
|
214
|
+
|
|
215
|
+
| Requirement | Status | Evidence |
|
|
216
|
+
|------------|--------|----------|
|
|
217
|
+
| **Strong typing** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe type annotation coverage. Note any use of `Any` and justification.] |
|
|
218
|
+
| **Dataclasses for value objects** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe use of dataclasses. Note any value objects.] |
|
|
219
|
+
| **Protocols/ABCs for interfaces** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe use of protocols or abstract base classes. Note any interfaces.] |
|
|
220
|
+
| **Avoid utility classes** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm no static-method-only utility classes. Note use of modules with functions instead.] |
|
|
221
|
+
|
|
222
|
+
#### 3A.3 Python Error Handling
|
|
223
|
+
|
|
224
|
+
| Requirement | Status | Evidence |
|
|
225
|
+
|------------|--------|----------|
|
|
226
|
+
| **Specific exceptions** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe exception handling approach. Confirm no broad catches.] |
|
|
227
|
+
| **Logging over print** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm use of logging module. Note any print statements and justification.] |
|
|
228
|
+
| **Invariants at construction** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how invariants are enforced in `__init__` or `__post_init__`.] |
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
### Section 3B: PowerShell Code Change Policy Compliance (if applicable)
|
|
233
|
+
|
|
234
|
+
#### 3B.1 Tooling & Baseline
|
|
235
|
+
|
|
236
|
+
| Requirement | Status | Evidence |
|
|
237
|
+
|------------|--------|----------|
|
|
238
|
+
| **Formatting with Invoke-Formatter** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `Invoke-PoshQCFormat -Root .`<br>**Result:** [Describe result] |
|
|
239
|
+
| **Linting with PSScriptAnalyzer** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `Invoke-PoshQCAnalyze -Root .`<br>**Result:** [Describe result] |
|
|
240
|
+
| **Fix all findings** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe any findings and how they were resolved.] |
|
|
241
|
+
| **PowerShell 5.1 & 7.6+ compatible** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe compatibility testing. Note any version-specific features.] |
|
|
242
|
+
|
|
243
|
+
#### 3B.2 PowerShell Design & Safety
|
|
244
|
+
|
|
245
|
+
| Requirement | Status | Evidence |
|
|
246
|
+
|------------|--------|----------|
|
|
247
|
+
| **Advanced functions** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe use of CmdletBinding and parameter attributes. N/A for test files.] |
|
|
248
|
+
| **Parameter validation** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe parameter validation attributes used. N/A for test files.] |
|
|
249
|
+
| **Avoid global state** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how global state is avoided. Note any legitimate global usage.] |
|
|
250
|
+
| **Error handling** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe error handling approach. Note use of try/catch, -ErrorAction, etc.] |
|
|
251
|
+
|
|
252
|
+
#### 3B.3 Structure, Naming, and Comments
|
|
253
|
+
|
|
254
|
+
| Requirement | Status | Evidence |
|
|
255
|
+
|------------|--------|----------|
|
|
256
|
+
| **Cohesive and under 500 lines** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Report file line counts. Confirm all under limit.] |
|
|
257
|
+
| **Approved verbs** | [✅/❌/N/A] [PASS/FAIL/N/A] | [List all function names and confirm verbs are approved.] |
|
|
258
|
+
| **Comment why** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe commenting approach. Confirm focus on rationale.] |
|
|
259
|
+
|
|
260
|
+
#### 3B.4 Running the Toolchain
|
|
261
|
+
|
|
262
|
+
| Requirement | Status | Evidence |
|
|
263
|
+
|------------|--------|----------|
|
|
264
|
+
| **Step 1: Format** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe execution and result.] |
|
|
265
|
+
| **Step 2: Analyze** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe execution and result.] |
|
|
266
|
+
| **Step 3: Type check** | N/A | Not applicable for PowerShell. |
|
|
267
|
+
| **Step 4: Test** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe execution and result.] |
|
|
268
|
+
| **Rerun loop if needed** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how many iterations were needed.] |
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
### Section 3C: Bash Script Policy Compliance (if applicable)
|
|
273
|
+
|
|
274
|
+
#### 3C.1 Tooling & Baseline
|
|
275
|
+
|
|
276
|
+
| Requirement | Status | Evidence |
|
|
277
|
+
|------------|--------|----------|
|
|
278
|
+
| **Formatting with shfmt** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run shell-qc format`<br>**Result:** [Describe result] |
|
|
279
|
+
| **Linting with shellcheck** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run shell-qc check`<br>**Result:** [Describe result] |
|
|
280
|
+
| **Testing with bats** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run shell-qc test`<br>**Result:** [Describe result or N/A if no tests] |
|
|
281
|
+
|
|
282
|
+
#### 3C.2 Bash Script Design
|
|
283
|
+
|
|
284
|
+
| Requirement | Status | Evidence |
|
|
285
|
+
|------------|--------|----------|
|
|
286
|
+
| **Portable shebang** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm `#!/usr/bin/env bash` or `#!/bin/bash` used.] |
|
|
287
|
+
| **Error handling** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe use of `set -e`, `set -u`, `set -o pipefail`, error traps.] |
|
|
288
|
+
| **Under 500 lines** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Report file line counts.] |
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
### Section 3D: JSON Configuration Policy Compliance (if applicable)
|
|
293
|
+
|
|
294
|
+
#### 3D.1 JSON Tooling
|
|
295
|
+
|
|
296
|
+
| Requirement | Status | Evidence |
|
|
297
|
+
|------------|--------|----------|
|
|
298
|
+
| **Formatting with jq** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run python -m scripts.dev_tools.format_json`<br>**Result:** [Describe result - files formatted or already formatted] |
|
|
299
|
+
| **Schema validation** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run python -m scripts.dev_tools.validate_json`<br>**Result:** [Describe result - all schemas valid] |
|
|
300
|
+
| **Required $schema** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm all governed JSON files have `$schema` property.] |
|
|
301
|
+
|
|
302
|
+
#### 3D.2 JSON Structure
|
|
303
|
+
|
|
304
|
+
| Requirement | Status | Evidence |
|
|
305
|
+
|------------|--------|----------|
|
|
306
|
+
| **Strict JSON only** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm no comments, trailing commas, or other JSON5 features.] |
|
|
307
|
+
| **Deterministic key order** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm keys are sorted via `jq --sort-keys`.] |
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## 4. Language-Specific Unit Test Policy Compliance
|
|
312
|
+
|
|
313
|
+
**Instructions:** Complete one section per language with tests. Delete sections for languages not used or not tested.
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
### Section 4A: Python Unit Test Policy Compliance (if applicable)
|
|
318
|
+
|
|
319
|
+
#### 4A.1 Framework and Scope
|
|
320
|
+
|
|
321
|
+
| Requirement | Status | Evidence |
|
|
322
|
+
|------------|--------|----------|
|
|
323
|
+
| **Use Pytest** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe use of Pytest. Note any fixtures or plugins used.] |
|
|
324
|
+
| **Coverage expectation** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Report coverage metrics. Confirm new code has >= 90% coverage and repo-wide >= 80%.] |
|
|
325
|
+
|
|
326
|
+
#### 4A.2 Test Style and Structure
|
|
327
|
+
|
|
328
|
+
| Requirement | Status | Evidence |
|
|
329
|
+
|------------|--------|----------|
|
|
330
|
+
| **Focused unit tests** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe test focus. Confirm each test exercises single behavior.] |
|
|
331
|
+
| **Mocking sparingly** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe mocking strategy. List what is mocked and why.] |
|
|
332
|
+
| **Organization** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe test organization. Confirm tests mirror code structure.] |
|
|
333
|
+
|
|
334
|
+
#### 4A.3 Naming and Readability
|
|
335
|
+
|
|
336
|
+
| Requirement | Status | Evidence |
|
|
337
|
+
|------------|--------|----------|
|
|
338
|
+
| **Naming conventions** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe test naming. Provide examples of descriptive test names.] |
|
|
339
|
+
| **Docstrings/comments** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe documentation approach for tests.] |
|
|
340
|
+
|
|
341
|
+
#### 4A.4 Running the Toolchain
|
|
342
|
+
|
|
343
|
+
| Requirement | Status | Evidence |
|
|
344
|
+
|------------|--------|----------|
|
|
345
|
+
| **Use Pytest** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `poetry run pytest`<br>**Result:** [Describe test results] |
|
|
346
|
+
| **No Alternative Test Runners** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm only Pytest is used.] |
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
### Section 4B: PowerShell Unit Test Policy Compliance (if applicable)
|
|
351
|
+
|
|
352
|
+
#### 4B.1 Framework and Scope
|
|
353
|
+
|
|
354
|
+
| Requirement | Status | Evidence |
|
|
355
|
+
|------------|--------|----------|
|
|
356
|
+
| **Use Pester v5.x** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe Pester v5 features used (BeforeAll, BeforeEach, Describe/Context/It, modern Should syntax).] |
|
|
357
|
+
| **Use PoshQC Configuration** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `Invoke-PoshQCTest -Root .`<br>**Config:** `scripts/powershell/PoshQC/settings/pester.runsettings.psd1`<br>[Describe configuration updates if any.] |
|
|
358
|
+
| **PowerShell 5.1 & 7.6+ Compatible** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe compatibility testing. Note any version-specific features.] |
|
|
359
|
+
|
|
360
|
+
#### 4B.2 Test Style and Structure
|
|
361
|
+
|
|
362
|
+
| Requirement | Status | Evidence |
|
|
363
|
+
|------------|--------|----------|
|
|
364
|
+
| **Focused Unit Tests** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe test focus. Report test distribution across functions.] |
|
|
365
|
+
| **Test Behavior Over Implementation** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe what behaviors are tested vs. implementation details.] |
|
|
366
|
+
| **Mocking Used Sparingly** | [✅/❌/N/A] [PASS/FAIL/N/A] | [List all mocked components and justification for each.] |
|
|
367
|
+
| **Organization** | [✅/❌/N/A] [PASS/FAIL/N/A] | **CRITICAL:** Test file location must mirror code file location.<br>**Test file:** `[path]`<br>**Code file:** `[path]`<br>[Confirm structure mirrors code location.] |
|
|
368
|
+
|
|
369
|
+
#### 4B.3 Naming and Readability
|
|
370
|
+
|
|
371
|
+
| Requirement | Status | Evidence |
|
|
372
|
+
|------------|--------|----------|
|
|
373
|
+
| **File Naming** - *.Tests.ps1 | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm file named correctly: `[name].Tests.ps1`] |
|
|
374
|
+
| **Describe/Context/It Structure** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe test structure: # Describe blocks, # Context blocks, # It blocks.] |
|
|
375
|
+
| **Logical Grouping** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe how tests are grouped. Show grouping strategy.] |
|
|
376
|
+
| **Docstrings/Comments** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Describe documentation approach. Note that test names should be self-documenting.] |
|
|
377
|
+
|
|
378
|
+
#### 4B.4 Running the Toolchain
|
|
379
|
+
|
|
380
|
+
| Requirement | Status | Evidence |
|
|
381
|
+
|------------|--------|----------|
|
|
382
|
+
| **Use PoshQCTest Command** | [✅/❌/N/A] [PASS/FAIL/N/A] | **Command:** `Invoke-PoshQCTest -Root .`<br>**Result:** [Describe test results] |
|
|
383
|
+
| **No Alternative Test Runners** | [✅/❌/N/A] [PASS/FAIL/N/A] | [Confirm only Pester is used through PoshQC.] |
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## 5. Test Coverage Detail
|
|
388
|
+
|
|
389
|
+
**Instructions:** Create one subsection for each function/class/module under test. Use tables to show test names, scenario types, lines covered, and status.
|
|
390
|
+
|
|
391
|
+
### [Function/Class/Module Name] ([N] tests)
|
|
392
|
+
|
|
393
|
+
| Test Name | Scenario Type | Lines Covered | Status |
|
|
394
|
+
|-----------|--------------|---------------|--------|
|
|
395
|
+
| [test name] | [Positive/Negative/Edge Case/Error Handling] | [line ranges] | [✅/❌] |
|
|
396
|
+
| [test name] | [Positive/Negative/Edge Case/Error Handling] | [line ranges] | [✅/❌] |
|
|
397
|
+
| [test name] | [Positive/Negative/Edge Case/Error Handling] | [line ranges] | [✅/❌] |
|
|
398
|
+
|
|
399
|
+
**Coverage:** [X]% of [function/class] (lines [start]-[end])
|
|
400
|
+
|
|
401
|
+
**Detailed line-by-line coverage (optional):**
|
|
402
|
+
- Line [N]: [✅/❌] Covered ([describe what's tested])
|
|
403
|
+
- Lines [N-M]: [✅/❌] Covered ([describe what's tested])
|
|
404
|
+
- Line [N]: ❌ Not covered ([explain why or plan to cover])
|
|
405
|
+
|
|
406
|
+
**Not covered:** [List any untested code and justification, or state "None"]
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
### [Additional Function/Class/Module] ([N] tests)
|
|
411
|
+
|
|
412
|
+
[Repeat structure above for each component tested]
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
## 6. Test Execution Metrics
|
|
417
|
+
|
|
418
|
+
| Metric | Value | Status |
|
|
419
|
+
|--------|-------|--------|
|
|
420
|
+
| Total Tests | [N] | [✅/❌] |
|
|
421
|
+
| Tests Passed | [N] ([X]%) | [✅/❌] |
|
|
422
|
+
| Tests Failed | [N] | [✅/❌] |
|
|
423
|
+
| Execution Time | [X]s total | [✅/❌] Fast/Slow |
|
|
424
|
+
| Average Time per Test | [X]ms | [✅/❌] Fast/Slow |
|
|
425
|
+
| Discovery Time | [X]ms | [✅/❌] |
|
|
426
|
+
| Functions/Classes Tested | [N]/[M] ([X]%) | [✅/❌] |
|
|
427
|
+
| Test File Size | [N] lines | [✅/❌] Maintainable |
|
|
428
|
+
| Code Coverage (if applicable) | [X]% lines, [Y]% branches | [✅/❌] |
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## 7. Code Quality Checks
|
|
433
|
+
|
|
434
|
+
**For Python:**
|
|
435
|
+
|
|
436
|
+
| Check | Command | Result | Status |
|
|
437
|
+
|-------|---------|--------|--------|
|
|
438
|
+
| Black Formatting | `poetry run black .` | [result] | [✅/❌] |
|
|
439
|
+
| Ruff Linting | `poetry run ruff check` | [result] | [✅/❌] |
|
|
440
|
+
| Pyright Type Checking | `poetry run pyright` | [result] | [✅/❌] |
|
|
441
|
+
| Pytest Tests | `poetry run pytest` | [result] | [✅/❌] |
|
|
442
|
+
|
|
443
|
+
**For PowerShell:**
|
|
444
|
+
|
|
445
|
+
| Check | Command | Result | Status |
|
|
446
|
+
|-------|---------|--------|--------|
|
|
447
|
+
| Invoke-Formatter | `Invoke-PoshQCFormat -Root .` | [result] | [✅/❌] |
|
|
448
|
+
| PSScriptAnalyzer | `Invoke-PoshQCAnalyze -Root .` | [result] | [✅/❌] |
|
|
449
|
+
| Pester Tests | `Invoke-PoshQCTest -Root .` | [result] | [✅/❌] |
|
|
450
|
+
|
|
451
|
+
**Notes:**
|
|
452
|
+
[Document any pre-existing failures unrelated to this work. Explain any deviations from clean runs.]
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## 8. Gaps and Exceptions
|
|
457
|
+
|
|
458
|
+
### Identified Gaps
|
|
459
|
+
[List any policy requirements that are not fully met. If none, state "**None.** All policy requirements are met."]
|
|
460
|
+
|
|
461
|
+
**Example:**
|
|
462
|
+
- [Requirement name]: [Description of gap and plan to address]
|
|
463
|
+
|
|
464
|
+
### Approved Exceptions
|
|
465
|
+
[List any approved exceptions to policy requirements with justification. If none, state "**None.** No exceptions needed."]
|
|
466
|
+
|
|
467
|
+
**Example:**
|
|
468
|
+
- [Requirement name]: [Justification for exception and approval source]
|
|
469
|
+
|
|
470
|
+
### Removed/Skipped Tests
|
|
471
|
+
[List any tests that were planned but removed or skipped, with justification. If none, state "**None.** All planned tests implemented."]
|
|
472
|
+
|
|
473
|
+
**Example:**
|
|
474
|
+
1. **"[test name]"** - Removed in commit [hash]
|
|
475
|
+
- **Reason:** [Why was it removed?]
|
|
476
|
+
- **Impact:** [What coverage is lost?]
|
|
477
|
+
- **Justification:** [Why is this acceptable?]
|
|
478
|
+
|
|
479
|
+
---
|
|
480
|
+
|
|
481
|
+
## 9. Summary of Changes
|
|
482
|
+
|
|
483
|
+
### Commits in This PR/Branch
|
|
484
|
+
|
|
485
|
+
[List all commits with hashes and brief descriptions]
|
|
486
|
+
|
|
487
|
+
**Example:**
|
|
488
|
+
1. **[hash]** - [commit message]
|
|
489
|
+
2. **[hash]** - [commit message]
|
|
490
|
+
3. **[hash]** - [commit message]
|
|
491
|
+
|
|
492
|
+
### Files Modified
|
|
493
|
+
|
|
494
|
+
[List all files that were created, modified, or deleted]
|
|
495
|
+
|
|
496
|
+
**Example:**
|
|
497
|
+
|
|
498
|
+
1. **[path/to/file]** (NEW/MODIFIED/DELETED)
|
|
499
|
+
- [Description of changes]
|
|
500
|
+
- [Key points]
|
|
501
|
+
|
|
502
|
+
2. **[path/to/file]** (NEW/MODIFIED/DELETED)
|
|
503
|
+
- [Description of changes]
|
|
504
|
+
- [Key points]
|
|
505
|
+
|
|
506
|
+
3. **[path/to/file]** (NEW/MODIFIED/DELETED)
|
|
507
|
+
- [Description of changes]
|
|
508
|
+
- [Key points]
|
|
509
|
+
|
|
510
|
+
---
|
|
511
|
+
|
|
512
|
+
## 10. Compliance Verdict
|
|
513
|
+
|
|
514
|
+
### Overall Status: [✅ FULLY COMPLIANT / ⚠️ PARTIALLY COMPLIANT / ❌ NON-COMPLIANT]
|
|
515
|
+
|
|
516
|
+
[Provide a brief summary of overall compliance status and any major findings.]
|
|
517
|
+
|
|
518
|
+
**Fail-closed reminder:** Do not mark the audit PASS, fully compliant, or ready for merge when any required baseline artifact, QA artifact, coverage metric, or coverage-comparison artifact is missing.
|
|
519
|
+
|
|
520
|
+
---
|
|
521
|
+
|
|
522
|
+
### Policy-by-Policy Summary
|
|
523
|
+
|
|
524
|
+
#### General Code Change Policy (Section 2)
|
|
525
|
+
- [✅/⚠️/❌] Before Making Changes: [Brief status]
|
|
526
|
+
- [✅/⚠️/❌] Design Principles: [Brief status]
|
|
527
|
+
- [✅/⚠️/❌] Module & File Structure: [Brief status]
|
|
528
|
+
- [✅/⚠️/❌] Naming, Docs, Comments: [Brief status]
|
|
529
|
+
- [✅/⚠️/❌] Toolchain Execution: [Brief status]
|
|
530
|
+
- [✅/⚠️/❌] Summarize & Document: [Brief status]
|
|
531
|
+
|
|
532
|
+
#### Language-Specific Code Change Policy (Section 3)
|
|
533
|
+
|
|
534
|
+
**For Python:**
|
|
535
|
+
- [✅/⚠️/❌] Tooling & Baseline: [Brief status]
|
|
536
|
+
- [✅/⚠️/❌] Python Design & Typing: [Brief status]
|
|
537
|
+
- [✅/⚠️/❌] Error Handling: [Brief status]
|
|
538
|
+
|
|
539
|
+
**For PowerShell:**
|
|
540
|
+
- [✅/⚠️/❌] Tooling & Baseline: [Brief status]
|
|
541
|
+
- [✅/⚠️/❌] PowerShell Design & Safety: [Brief status]
|
|
542
|
+
- [✅/⚠️/❌] Structure & Naming: [Brief status]
|
|
543
|
+
- [✅/⚠️/❌] Toolchain: [Brief status]
|
|
544
|
+
|
|
545
|
+
#### General Unit Test Policy (Section 1)
|
|
546
|
+
- [✅/⚠️/❌] Core Principles: [Brief status]
|
|
547
|
+
- [✅/⚠️/❌] Coverage & Scenarios: [Brief status]
|
|
548
|
+
- [✅/⚠️/❌] Test Structure: [Brief status]
|
|
549
|
+
- [✅/⚠️/❌] External Dependencies: [Brief status]
|
|
550
|
+
- [✅/⚠️/❌] Policy Audit: [Brief status]
|
|
551
|
+
|
|
552
|
+
#### Language-Specific Unit Test Policy (Section 4)
|
|
553
|
+
|
|
554
|
+
**For Python:**
|
|
555
|
+
- [✅/⚠️/❌] Framework & Scope: [Brief status]
|
|
556
|
+
- [✅/⚠️/❌] Test Style & Structure: [Brief status]
|
|
557
|
+
- [✅/⚠️/❌] Naming & Readability: [Brief status]
|
|
558
|
+
- [✅/⚠️/❌] Toolchain: [Brief status]
|
|
559
|
+
|
|
560
|
+
**For PowerShell:**
|
|
561
|
+
- [✅/⚠️/❌] Framework & Scope: [Brief status]
|
|
562
|
+
- [✅/⚠️/❌] Test Style & Structure: [Brief status]
|
|
563
|
+
- [✅/⚠️/❌] Naming & Readability: [Brief status]
|
|
564
|
+
- [✅/⚠️/❌] Toolchain: [Brief status]
|
|
565
|
+
|
|
566
|
+
---
|
|
567
|
+
|
|
568
|
+
### Metrics Summary
|
|
569
|
+
|
|
570
|
+
[Provide a bulleted summary of key metrics from Section 6]
|
|
571
|
+
|
|
572
|
+
**Example:**
|
|
573
|
+
- [✅/❌] [N]/[M] tests passing ([X]%)
|
|
574
|
+
- [✅/❌] [N]/[M] functions/classes tested ([X]%)
|
|
575
|
+
- [✅/❌] [X]% line coverage
|
|
576
|
+
- [✅/❌] Proper file organization: [describe]
|
|
577
|
+
- [✅/❌] All code quality checks passing
|
|
578
|
+
- [✅/❌] Test execution time: [X] seconds ([fast/slow])
|
|
579
|
+
|
|
580
|
+
---
|
|
581
|
+
|
|
582
|
+
### Recommendation
|
|
583
|
+
|
|
584
|
+
**[Ready for merge / Needs revision / Blocked]**
|
|
585
|
+
|
|
586
|
+
[Provide clear recommendation and any next steps. If not ready for merge, list specific items that must be addressed.]
|
|
587
|
+
|
|
588
|
+
---
|
|
589
|
+
|
|
590
|
+
## Appendix A: Test Inventory
|
|
591
|
+
|
|
592
|
+
### Complete Test List
|
|
593
|
+
|
|
594
|
+
[List all tests in a hierarchical structure that matches the test organization (Describe/Context/It or test class hierarchy)]
|
|
595
|
+
|
|
596
|
+
**Example format:**
|
|
597
|
+
|
|
598
|
+
1. [Describe/Class] › [Context/Method] › [test name]
|
|
599
|
+
2. [Describe/Class] › [Context/Method] › [test name]
|
|
600
|
+
3. [Describe/Class] › [Context/Method] › [test name]
|
|
601
|
+
...
|
|
602
|
+
|
|
603
|
+
**Alternative flat format:**
|
|
604
|
+
|
|
605
|
+
- [test_module.py::TestClassName::test_method_name]
|
|
606
|
+
- [test_module.py::TestClassName::test_method_name]
|
|
607
|
+
- [test_module.py::test_function_name]
|
|
608
|
+
...
|
|
609
|
+
|
|
610
|
+
---
|
|
611
|
+
|
|
612
|
+
## Appendix B: Toolchain Commands Reference
|
|
613
|
+
|
|
614
|
+
[Provide quick reference of all commands used in this audit]
|
|
615
|
+
|
|
616
|
+
**For Python:**
|
|
617
|
+
```bash
|
|
618
|
+
# Formatting
|
|
619
|
+
poetry run black .
|
|
620
|
+
|
|
621
|
+
# Linting
|
|
622
|
+
poetry run ruff check
|
|
623
|
+
poetry run ruff check --fix # auto-fix
|
|
624
|
+
|
|
625
|
+
# Type checking
|
|
626
|
+
poetry run pyright
|
|
627
|
+
|
|
628
|
+
# Testing
|
|
629
|
+
poetry run pytest
|
|
630
|
+
poetry run pytest --cov=src/[package] --cov-report=term-missing
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
**For PowerShell:**
|
|
634
|
+
```powershell
|
|
635
|
+
# Formatting
|
|
636
|
+
Import-Module ./scripts/powershell/PoshQC; Invoke-PoshQCFormat -Root .
|
|
637
|
+
|
|
638
|
+
# Linting
|
|
639
|
+
Import-Module ./scripts/powershell/PoshQC; Invoke-PoshQCAnalyze -Root .
|
|
640
|
+
|
|
641
|
+
# Testing
|
|
642
|
+
Import-Module ./scripts/powershell/PoshQC; Invoke-PoshQCTest -Root .
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
---
|
|
646
|
+
|
|
647
|
+
**Audit Completed By:** [Agent Name / Human Name]
|
|
648
|
+
**Audit Date:** [YYYY-MM-DD]
|
|
649
|
+
**Policy Version:** Current (as of audit date)
|