@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,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pr-context-artifacts
|
|
3
|
+
description: 'PR context artifact locations and refresh rules. Use when generating, reading, or inlining pr_context summary/appendix artifacts.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PR Context Artifacts
|
|
7
|
+
|
|
8
|
+
Canonical locations and usage rules for PR context artifacts.
|
|
9
|
+
|
|
10
|
+
## When to Use This Skill
|
|
11
|
+
|
|
12
|
+
Use this skill when:
|
|
13
|
+
- You generate or refresh PR context artifacts.
|
|
14
|
+
- You reference PR context summary/appendix as evidence.
|
|
15
|
+
- You inline PR context artifacts into remediation handoffs.
|
|
16
|
+
|
|
17
|
+
## Canonical Artifact Locations
|
|
18
|
+
|
|
19
|
+
- Summary: `artifacts/pr_context.summary.txt`
|
|
20
|
+
- Appendix: `artifacts/pr_context.appendix.txt`
|
|
21
|
+
|
|
22
|
+
## Refresh Rule
|
|
23
|
+
|
|
24
|
+
If the artifacts are missing or stale relative to the current branch state, re-generate them using the repo’s PR context collector.
|
|
25
|
+
|
|
26
|
+
- When `PRBaseBranch` is supplied explicitly, use that exact branch for refresh.
|
|
27
|
+
- When `PRBaseBranch` is missing or ambiguous, resolve it first with `pr-base-branch-merge-base` before running the collector.
|
|
28
|
+
- Do not infer the refresh base from the repository default branch unless merge-base resolution fails for all candidates.
|
|
29
|
+
- Treat an already-fresh artifact pair as authoritative; do not refresh solely because no explicit `PRBaseBranch` input was provided.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: remediation-handoff-atomic-planner
|
|
3
|
+
description: 'Reusable remediation trigger and atomic_planner handoff steps. Use when audits require remediation inputs and a delegated remediation plan.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Remediation Handoff to atomic_planner
|
|
7
|
+
|
|
8
|
+
Shared remediation workflow and handoff expectations for agents that delegate to `atomic_planner`.
|
|
9
|
+
|
|
10
|
+
## When to Use This Skill
|
|
11
|
+
|
|
12
|
+
Use this skill when:
|
|
13
|
+
- Audit findings require remediation.
|
|
14
|
+
- You must create remediation inputs and delegate plan creation to `atomic_planner`.
|
|
15
|
+
|
|
16
|
+
## Trigger Conditions (Generic)
|
|
17
|
+
|
|
18
|
+
Trigger remediation when any of these are true:
|
|
19
|
+
- Audit artifacts contain FAIL or meaningful PARTIAL findings.
|
|
20
|
+
- Toolchain checks fail.
|
|
21
|
+
- Acceptance criteria are not met.
|
|
22
|
+
|
|
23
|
+
## Required Remediation Inputs
|
|
24
|
+
|
|
25
|
+
Create `remediation-inputs.<timestamp>.md` with:
|
|
26
|
+
- Enumerated fix list with file paths, expected behavior, and verification commands.
|
|
27
|
+
- A “do not do” list (no scope creep, no policy weakening, no silent skips).
|
|
28
|
+
|
|
29
|
+
## Plan Creation and Handoff
|
|
30
|
+
|
|
31
|
+
1) Create a remediation plan target file using the repo’s plan template.
|
|
32
|
+
2) Delegate to `atomic_planner` with:
|
|
33
|
+
- `${spec}` pointing to remediation inputs (authoritative)
|
|
34
|
+
- `${file}` pointing to the remediation plan target file
|
|
35
|
+
3) Require `atomic_planner` to output a deterministic, atomic plan with phases and `[P#-T#]` IDs.
|
|
36
|
+
|
|
37
|
+
## Context Package (When Required)
|
|
38
|
+
|
|
39
|
+
If the calling agent requires a context package, inline the specified audit artifacts, PR context artifacts, and any relevant plan files in the delegated prompt.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-canonical-location-audit
|
|
3
|
+
description: 'Audit skills for canonical-location duplication. Use when ensuring a canonical location for a given item is defined in exactly one skill and duplicates are flagged.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill Canonical-Location Audit
|
|
7
|
+
|
|
8
|
+
Audit skills to ensure canonical locations for the same item are not defined in multiple places.
|
|
9
|
+
|
|
10
|
+
## When to Use This Skill
|
|
11
|
+
|
|
12
|
+
Use this skill when:
|
|
13
|
+
- You add or update skills that define canonical locations.
|
|
14
|
+
- You want to verify that canonical paths live in exactly one skill.
|
|
15
|
+
- You need a duplication report listing which skills conflict.
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
- Applies to all skills under `.github/skills/**/SKILL.md`.
|
|
20
|
+
- Focuses on canonical locations (paths, folders, or file names) for a given item (e.g., PR context artifacts, evidence locations, issue mirrors).
|
|
21
|
+
|
|
22
|
+
## Audit Workflow
|
|
23
|
+
|
|
24
|
+
1) Inventory canonical-location statements
|
|
25
|
+
- Read each `SKILL.md` and extract explicit canonical location statements (paths, folders, file names).
|
|
26
|
+
- Group statements by the item they describe (e.g., “PR context summary”, “baseline evidence”).
|
|
27
|
+
|
|
28
|
+
2) Detect duplicates
|
|
29
|
+
- For each item group, verify that exactly one skill defines its canonical location.
|
|
30
|
+
- If two or more skills define the same item’s canonical location, flag it as a duplication.
|
|
31
|
+
|
|
32
|
+
3) Report results
|
|
33
|
+
- Produce a short report listing:
|
|
34
|
+
- The item with duplicated canonical location
|
|
35
|
+
- The conflicting skills
|
|
36
|
+
- A recommendation for consolidation (name the single skill to keep as source-of-truth)
|
|
37
|
+
|
|
38
|
+
## Output Template (Suggested)
|
|
39
|
+
|
|
40
|
+
- Item: <canonical item name>
|
|
41
|
+
- Skills with definitions: <skill A>, <skill B>, ...
|
|
42
|
+
- Recommendation: Keep <skill X> as canonical; remove duplicates from others.
|
|
43
|
+
|
|
44
|
+
## Notes
|
|
45
|
+
|
|
46
|
+
- If a skill references a canonical location indirectly (e.g., “see evidence-and-timestamp-conventions”), do NOT treat that as a duplication.
|
|
47
|
+
- Only treat explicit canonical paths or filenames as definitions.
|
|
48
|
+
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# <bug-name> (Plan)
|
|
2
|
+
|
|
3
|
+
- **Issue:** <issue>
|
|
4
|
+
- **Parent (optional):** <parent-id>
|
|
5
|
+
- **Owner:** <name>
|
|
6
|
+
- **Last Updated:** <yyyy-MM-ddTHH-mm>
|
|
7
|
+
- **Status:** <template>
|
|
8
|
+
- **Version:** <version_number>
|
|
9
|
+
|
|
10
|
+
**Fail-closed evidence rule:** Include explicit baseline artifact tasks, final-QA artifact tasks, and coverage-comparison tasks for each in-scope language when policy requires coverage. If any required baseline artifact, QA artifact, or coverage-comparison artifact is missing, the audit verdict must be BLOCKED or INCOMPLETE, never PASS.
|
|
11
|
+
|
|
12
|
+
**Evidence accounting rule:** Record the expected artifact path or location in each evidence-producing task. Do not mark evidence-backed work complete without the artifact.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
**Phase 0 — Context & Inputs**
|
|
16
|
+
- [ ] [P0-T1] Link approved spec: <spec link>
|
|
17
|
+
- [ ] [P0-T2] Record branch/commit baseline: <branch/commit>
|
|
18
|
+
- [ ] [P0-T3] List required environment/fixtures/data: <notes>
|
|
19
|
+
|
|
20
|
+
**Phase 1 — Preparation**
|
|
21
|
+
- [ ] [P1-T1] Confirm scope is locked for this fix (no open spec gaps)
|
|
22
|
+
- [ ] [P1-T2] Sync workspace to target branch and ensure tooling is available
|
|
23
|
+
|
|
24
|
+
**Phase 2 — Regression Test (must fail first)**
|
|
25
|
+
- [ ] [P2-T1] [expect-fail] Add a small, deterministic regression test in the standard module file (use `tests/bugs/<YYYY>/<issue>-<desc>.py` only if no clear home exists)
|
|
26
|
+
- [ ] [P2-T2] [expect-fail] Run the regression to confirm it fails and captures the repro
|
|
27
|
+
|
|
28
|
+
**Phase 3 — Minimal Fix**
|
|
29
|
+
- [ ] [P3-T1] Apply the smallest change needed to make the regression test pass; avoid opportunistic refactors
|
|
30
|
+
|
|
31
|
+
**Phase 4 — Verification Loop**
|
|
32
|
+
- [ ] [P4-T1] Re-run repro and regression test to confirm expected behavior
|
|
33
|
+
- [ ] [P4-T2] Run formatter → linter → type checker → tests; restart loop if any step changes files or fails
|
|
34
|
+
- [ ] [P4-T3] Record baseline, post-change, and comparison artifact paths for each in-scope language where coverage is required
|
|
35
|
+
|
|
36
|
+
**Phase 5 — Documentation & Status**
|
|
37
|
+
- [ ] [P5-T1] Update spec/issue with outcomes, decisions, and any deviations from scope
|
|
38
|
+
|
|
39
|
+
**Phase 6 — PR & Handoff**
|
|
40
|
+
- [ ] [P6-T1] Prepare PR notes (summary, risks, validation performed, links to tests) and request review
|
|
41
|
+
|
|
42
|
+
**Phase 7 — Rollout / Follow-up**
|
|
43
|
+
- [ ] [P7-T1] Capture deployment/rollout notes and post-fix monitoring items
|
|
44
|
+
- [ ] [P7-T2] Record links (issue, PRs, related docs) for traceability
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# <bug-name> (Potential Bug)
|
|
2
|
+
|
|
3
|
+
- Date captured: YYYY-MM-DD
|
|
4
|
+
- Author: name
|
|
5
|
+
- Status: Draft
|
|
6
|
+
|
|
7
|
+
> Automation note: Keep the section headings below unchanged; the promotion tooling maps each of them into the GitHub bug issue template.
|
|
8
|
+
|
|
9
|
+
## Summary
|
|
10
|
+
|
|
11
|
+
One or two sentences on what is broken.
|
|
12
|
+
|
|
13
|
+
## Environment
|
|
14
|
+
|
|
15
|
+
- OS/version:
|
|
16
|
+
- Python version:
|
|
17
|
+
- Command/flags used:
|
|
18
|
+
- Data source or fixture:
|
|
19
|
+
|
|
20
|
+
## Steps to Reproduce
|
|
21
|
+
|
|
22
|
+
1. ...
|
|
23
|
+
2. ...
|
|
24
|
+
3. ...
|
|
25
|
+
|
|
26
|
+
## Expected Behavior
|
|
27
|
+
|
|
28
|
+
What you expected to happen.
|
|
29
|
+
|
|
30
|
+
## Actual Behavior
|
|
31
|
+
|
|
32
|
+
What actually happened (include key error text).
|
|
33
|
+
|
|
34
|
+
## Logs / Screenshots
|
|
35
|
+
|
|
36
|
+
- [ ] Attached minimal logs or screenshot
|
|
37
|
+
- Snippet:
|
|
38
|
+
|
|
39
|
+
## Impact / Severity
|
|
40
|
+
|
|
41
|
+
- [ ] Blocker
|
|
42
|
+
- [ ] High
|
|
43
|
+
- [ ] Medium
|
|
44
|
+
- [ ] Low
|
|
45
|
+
|
|
46
|
+
## Suspected Cause / Notes
|
|
47
|
+
|
|
48
|
+
Optional early hunches, related changes, or files to inspect.
|
|
49
|
+
|
|
50
|
+
## Proposed Fix / Validation Ideas
|
|
51
|
+
|
|
52
|
+
- [ ] Unit coverage areas
|
|
53
|
+
- [ ] Integration scenario to retest
|
|
54
|
+
- [ ] Manual verification notes
|
|
55
|
+
|
|
56
|
+
## Next Step
|
|
57
|
+
|
|
58
|
+
- [ ] Promote to GitHub issue (bug-report template)
|
|
59
|
+
- [ ] Move to active fix folder / branch
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# <bug-name> (Spec)
|
|
2
|
+
|
|
3
|
+
- **Issue:** <issue>
|
|
4
|
+
- **Parent (optional):** <parent-id>
|
|
5
|
+
- **Owner:** <name>
|
|
6
|
+
- **Last Updated:** <yyyy-MM-ddTHH-mm>
|
|
7
|
+
- **Status:** <status>
|
|
8
|
+
- **Version:** <version_number>
|
|
9
|
+
|
|
10
|
+
## Context
|
|
11
|
+
- Summary of the bug and its impact (link to repro/playbook entry).
|
|
12
|
+
- Observed environment(s):
|
|
13
|
+
- Customer impact and severity (who is affected, how often, how bad):
|
|
14
|
+
- First observed date and version(s) impacted:
|
|
15
|
+
|
|
16
|
+
## Repro & Evidence
|
|
17
|
+
- Steps to reproduce (with data/flags/inputs):
|
|
18
|
+
- Expected vs actual behavior:
|
|
19
|
+
- Logs/screenshots/error snippets:
|
|
20
|
+
- Frequency / determinism (always, intermittent, data-dependent):
|
|
21
|
+
|
|
22
|
+
## Scope & Non-Goals
|
|
23
|
+
- In scope:
|
|
24
|
+
- Out of scope / non-goals:
|
|
25
|
+
- Explicitly excluded systems, integrations, or datasets:
|
|
26
|
+
|
|
27
|
+
## Root Cause Analysis
|
|
28
|
+
- Current hypothesis or confirmed root cause:
|
|
29
|
+
- Signals/evidence supporting it:
|
|
30
|
+
- Affected components/modules (paths, services, pipelines):
|
|
31
|
+
|
|
32
|
+
## Proposed Fix
|
|
33
|
+
|
|
34
|
+
### Design summary (what changes where):
|
|
35
|
+
|
|
36
|
+
### Boundaries and invariants to preserve:
|
|
37
|
+
|
|
38
|
+
### Dependencies or blocked work:
|
|
39
|
+
|
|
40
|
+
### Implementation strategy (what changes, not sequencing):
|
|
41
|
+
|
|
42
|
+
#### Files/modules to change:
|
|
43
|
+
|
|
44
|
+
#### Functions/classes/CLI commands impacted:
|
|
45
|
+
|
|
46
|
+
#### Data flow and validation changes:
|
|
47
|
+
|
|
48
|
+
#### Error handling and logging updates:
|
|
49
|
+
|
|
50
|
+
#### Rollback/feature-flag considerations (if applicable):
|
|
51
|
+
|
|
52
|
+
### Technical specifications (interfaces/contracts):
|
|
53
|
+
|
|
54
|
+
#### Inputs/outputs and formats:
|
|
55
|
+
|
|
56
|
+
#### Required configuration keys and defaults:
|
|
57
|
+
|
|
58
|
+
#### Backward-compatibility expectations:
|
|
59
|
+
|
|
60
|
+
#### Performance constraints (latency/throughput/memory):
|
|
61
|
+
|
|
62
|
+
## Assumptions, Constraints, Dependencies
|
|
63
|
+
- Assumptions (environment, data, access):
|
|
64
|
+
- Constraints (budget, performance, compatibility):
|
|
65
|
+
- External dependencies (services, libraries, releases):
|
|
66
|
+
|
|
67
|
+
## Data / API / Config Impact
|
|
68
|
+
- User-facing or API changes:
|
|
69
|
+
- Data or migration considerations:
|
|
70
|
+
- Logging/telemetry updates (if any):
|
|
71
|
+
- Compatibility notes (CLI flags, config schemas, versioning):
|
|
72
|
+
|
|
73
|
+
## Test Strategy
|
|
74
|
+
- Regression tests to add or update:
|
|
75
|
+
- Unit tests (pytest) for the fixed behavior and boundaries:
|
|
76
|
+
- Edge cases and negative scenarios (invalid inputs, missing data, boundary values):
|
|
77
|
+
- Error handling and logging verification:
|
|
78
|
+
- Coverage impact and targets for changed lines/modules:
|
|
79
|
+
- Toolchain commands to run (format → lint → type-check → test):
|
|
80
|
+
- Manual validation steps (if required):
|
|
81
|
+
|
|
82
|
+
## Acceptance Criteria
|
|
83
|
+
- [ ] Repro steps now produce the expected behavior in all documented environments.
|
|
84
|
+
- [ ] Regression test(s) added and passing (list file path and test name).
|
|
85
|
+
- [ ] Edge cases and invalid inputs are handled with correct errors or fallbacks.
|
|
86
|
+
- [ ] No unintended behavior changes outside the defined scope.
|
|
87
|
+
- [ ] Required logs/telemetry updated and validated (if applicable).
|
|
88
|
+
- [ ] Performance constraints met or explicitly waived with rationale.
|
|
89
|
+
- [ ] Full toolchain pass completed (format → lint → type-check → test).
|
|
90
|
+
- [ ] Docs/config references updated to match the new behavior.
|
|
91
|
+
|
|
92
|
+
## Risks & Mitigations
|
|
93
|
+
- Technical or operational risks:
|
|
94
|
+
- Mitigations and rollbacks:
|
|
95
|
+
|
|
96
|
+
## Rollout & Follow-up
|
|
97
|
+
- Release/rollout steps:
|
|
98
|
+
- Post-fix monitoring or clean-up tasks:
|
|
99
|
+
- Links: issue, PRs, related docs
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# <epic-name> - Initiative Overview
|
|
2
|
+
|
|
3
|
+
- Issue: #<tracking-issue>
|
|
4
|
+
- Owner: <name>
|
|
5
|
+
- Last Updated: YYYY-MM-DD
|
|
6
|
+
|
|
7
|
+
## Goal & Outcomes
|
|
8
|
+
|
|
9
|
+
State the objective and the measurable outcomes for this initiative. Keep it user/impact oriented, not implementation detail.
|
|
10
|
+
|
|
11
|
+
## Decomposition (Child Features/Workstreams)
|
|
12
|
+
|
|
13
|
+
- <Workstream A> (Issue #<id>) - `../<child-folder>/`
|
|
14
|
+
- <Workstream B> (Issue #<id>) - `../<child-folder>/`
|
|
15
|
+
- <Workstream C> (Issue #<id>) - `../<child-folder>/`
|
|
16
|
+
|
|
17
|
+
Dependencies: Describe ordering or coupling between child items (e.g., A → B → C).
|
|
18
|
+
|
|
19
|
+
## Cross-Cutting Constraints & Assumptions
|
|
20
|
+
|
|
21
|
+
- Shared behaviors/algorithms that must stay aligned
|
|
22
|
+
- Determinism/performance/compatibility guarantees
|
|
23
|
+
- Data/artifact locations, formats, or tooling expectations
|
|
24
|
+
- Compliance/legal/licensing boundaries
|
|
25
|
+
- Quality gates (tests/lint/type-checks) required across all children
|
|
26
|
+
|
|
27
|
+
## Milestones & Status
|
|
28
|
+
|
|
29
|
+
- M1 <Name> - <Not started | In progress | Done> (criteria)
|
|
30
|
+
- M2 <Name> - <Not started | In progress | Done>
|
|
31
|
+
- M3 <Name> - <Not started | In progress | Done>
|
|
32
|
+
- CLI/UX alignment or other cross-initiative milestones
|
|
33
|
+
|
|
34
|
+
## Initiative-Level Validation
|
|
35
|
+
|
|
36
|
+
- End-to-end: <Describe end-to-end validation that proves the initiative outcome>
|
|
37
|
+
- Integration: <Cross-layer checks to ensure child workstreams fit together>
|
|
38
|
+
- Determinism/Regression: <What needs to remain stable; how to detect drift>
|
|
39
|
+
- Error handling/Resilience: <Key failure modes and expected handling>
|
|
40
|
+
|
|
41
|
+
## Notes / Follow-Ups
|
|
42
|
+
|
|
43
|
+
Capture decisions, risks, and future adjustments to decomposition/milestones.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# <feature-name> - Plan
|
|
2
|
+
|
|
3
|
+
- **Issue:** <issue>
|
|
4
|
+
- **Parent (optional):** <parent-id>
|
|
5
|
+
- **Owner:** <name>
|
|
6
|
+
- **Last Updated:** <yyyy-MM-ddTHH-mm>
|
|
7
|
+
- **Status:** <template>
|
|
8
|
+
- **Version:** <version_number>
|
|
9
|
+
|
|
10
|
+
## Required References
|
|
11
|
+
|
|
12
|
+
- General Coding Standards: [`.github/instructions/general-code-change.instructions.md`](../../../../.github/instructions/general-code-change.instructions.md)
|
|
13
|
+
- General Unit Test Policy: [`.github/instructions/general-unit-test.instructions.md`](../../../../.github/instructions/general-unit-test.instructions.md)
|
|
14
|
+
- (Add language-specific policies as needed, e.g. `python-code-change.instructions.md`)
|
|
15
|
+
|
|
16
|
+
**All work must comply with these policies; do not duplicate their content here.**
|
|
17
|
+
|
|
18
|
+
## Implementation Plan (Atomic Tasks)
|
|
19
|
+
|
|
20
|
+
> **Instructions for this section:**
|
|
21
|
+
> - Break work into **Phases** (broad buckets) and **Atomic Tasks** (binary, 5-30 min units).
|
|
22
|
+
> - Use `- [ ] [P#-T#]` for every task.
|
|
23
|
+
> - Start every task with a **strong verb** (Implement, Create, Update, Verify).
|
|
24
|
+
> - No "bucket" tasks like "Refactor module" or "Write tests"; split them into specific, verifiable steps.
|
|
25
|
+
> - **Self-Validating Phases:** Include necessary test creation/update tasks *within* the phase that implements the code. Do not defer verification to a final "Testing" phase.
|
|
26
|
+
> - Include explicit baseline artifact tasks, final-QA artifact tasks, and coverage-comparison tasks for every language in scope when policy requires coverage.
|
|
27
|
+
> - Name the expected artifact path or location in each evidence-producing task's acceptance criteria.
|
|
28
|
+
> - If any required baseline artifact, QA artifact, or coverage-comparison artifact is missing, the audit verdict must be BLOCKED or INCOMPLETE, never PASS.
|
|
29
|
+
|
|
30
|
+
### Phase 0: Compliance & Context
|
|
31
|
+
- [ ] [P0-T1] Confirm alignment with repo policies by reading `.github/instructions/general-code-change.instructions.md`, `.github/instructions/python-code-change.instructions.md`, `.github/instructions/general-unit-test.instructions.md`, and `.github/instructions/python-unit-test.instructions.md` before touching code
|
|
32
|
+
- Acceptance: Development log contains policy review timestamp prior to Phase 1 commits
|
|
33
|
+
|
|
34
|
+
### Phase 1: <Phase Name>
|
|
35
|
+
- [ ] [P1-T1] <Atomic task with strong verb>
|
|
36
|
+
- [ ] [P1-T2] <Atomic task>
|
|
37
|
+
- Preconditions: <optional>
|
|
38
|
+
- Acceptance: <optional>
|
|
39
|
+
|
|
40
|
+
### Phase 2: <Phase Name>
|
|
41
|
+
- [ ] [P2-T1] <Atomic task>
|
|
42
|
+
- [ ] [P2-T2] <Atomic task>
|
|
43
|
+
|
|
44
|
+
## Test Plan
|
|
45
|
+
|
|
46
|
+
- Unit: ...
|
|
47
|
+
- Integration: ...
|
|
48
|
+
- Manual/CLI: ...
|
|
49
|
+
- Coverage evidence: list baseline artifact paths, post-change artifact paths, and comparison artifact paths for each in-scope language
|
|
50
|
+
|
|
51
|
+
## Open Questions / Notes
|
|
52
|
+
|
|
53
|
+
- ...
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# <feature-name> — Spec
|
|
2
|
+
|
|
3
|
+
- **Issue:** <issue>
|
|
4
|
+
- **Parent (optional):** <parent-id>
|
|
5
|
+
- **Owner:** <name>
|
|
6
|
+
- **Last Updated:** <yyyy-MM-ddTHH-mm>
|
|
7
|
+
- **Status:** <status>
|
|
8
|
+
- **Version:** <version_number>
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
Brief summary of the behavior and scope.
|
|
13
|
+
- Target users/personas and primary use cases:
|
|
14
|
+
- Success metrics or expected impact:
|
|
15
|
+
|
|
16
|
+
## Behavior
|
|
17
|
+
|
|
18
|
+
Describe how the feature should behave end-to-end.
|
|
19
|
+
- Main user flow (happy path):
|
|
20
|
+
- Alternate/edge flows:
|
|
21
|
+
- Error handling and recovery behavior:
|
|
22
|
+
|
|
23
|
+
## Inputs / Outputs
|
|
24
|
+
|
|
25
|
+
- Inputs (CLI flags, files, env vars)
|
|
26
|
+
- Outputs (artifacts, logs, telemetry)
|
|
27
|
+
- Config keys and defaults:
|
|
28
|
+
- Versioning or backward-compatibility constraints:
|
|
29
|
+
|
|
30
|
+
## API / CLI Surface
|
|
31
|
+
|
|
32
|
+
List commands, flags, request/response shapes, and examples.
|
|
33
|
+
- Example invocations with expected outputs (concise):
|
|
34
|
+
- Contracts and validation rules:
|
|
35
|
+
|
|
36
|
+
## Data & State
|
|
37
|
+
|
|
38
|
+
Data flow, storage, or state changes introduced by this feature.
|
|
39
|
+
- Data transformations and invariants:
|
|
40
|
+
- Caching or persistence details:
|
|
41
|
+
- Migration or backfill requirements (if any):
|
|
42
|
+
|
|
43
|
+
## Constraints & Risks
|
|
44
|
+
|
|
45
|
+
Performance, compatibility, security, rollout constraints.
|
|
46
|
+
- Limits (latency/throughput/memory) and acceptable trade-offs:
|
|
47
|
+
- Security/privacy considerations:
|
|
48
|
+
- Operational/rollout risks and mitigations:
|
|
49
|
+
|
|
50
|
+
## Implementation Strategy
|
|
51
|
+
|
|
52
|
+
- Implementation scope (what changes, not sequencing):
|
|
53
|
+
- New classes/functions/commands to add or update:
|
|
54
|
+
- Dependency changes (new/removed packages) and rationale:
|
|
55
|
+
- Logging/telemetry additions and locations:
|
|
56
|
+
- Rollout plan (feature flags, staged deploys, fallback path):
|
|
57
|
+
|
|
58
|
+
## Definition of Done
|
|
59
|
+
|
|
60
|
+
- [ ] Acceptance criteria documented and mapped to tests or demos
|
|
61
|
+
- [ ] Behavior matches acceptance criteria in all documented environments
|
|
62
|
+
- [ ] Tests updated/added (unit/integration as applicable)
|
|
63
|
+
- [ ] Edge cases and error handling covered by tests
|
|
64
|
+
- [ ] Docs updated (README, docs/features/active/... links)
|
|
65
|
+
- [ ] Telemetry/logging added or updated (if applicable)
|
|
66
|
+
- [ ] Toolchain pass completed (format → lint → type-check → test)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# `<feature-name>` — User Story
|
|
2
|
+
|
|
3
|
+
- Issue: #`<id>`
|
|
4
|
+
- Owner: name
|
|
5
|
+
- Status: Draft | In Progress | Complete
|
|
6
|
+
- Last Updated: YYYY-MM-DD
|
|
7
|
+
|
|
8
|
+
## Story Statement
|
|
9
|
+
|
|
10
|
+
- As a ..., I want ..., so that ...
|
|
11
|
+
- As a ..., I want ..., so that ...
|
|
12
|
+
|
|
13
|
+
## Problem / Why
|
|
14
|
+
|
|
15
|
+
What customer/user problem does this solve?
|
|
16
|
+
|
|
17
|
+
## Personas & Scenarios
|
|
18
|
+
|
|
19
|
+
- Persona: ...
|
|
20
|
+
- who the user is
|
|
21
|
+
- what they care about
|
|
22
|
+
- their constraints
|
|
23
|
+
- their goals and frustrations
|
|
24
|
+
- their context and motivations
|
|
25
|
+
- Scenario: ...
|
|
26
|
+
- A concrete, step-by-step narrative that describes how a user accomplishes a goal in a real-world context using the system.
|
|
27
|
+
- who is acting?
|
|
28
|
+
- what triggered the action?
|
|
29
|
+
- what steps do they take?
|
|
30
|
+
- what obstacles or decisions occur?
|
|
31
|
+
- what outcome do they expect?
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Acceptance Criteria
|
|
35
|
+
|
|
36
|
+
- [ ] Criterion 1
|
|
37
|
+
- [ ] Criterion 2
|
|
38
|
+
- [ ] Criterion 3
|
|
39
|
+
|
|
40
|
+
## Non-Goals
|
|
41
|
+
|
|
42
|
+
Call out what is explicitly excluded from this feature.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# <feature-name> (Potential)
|
|
2
|
+
|
|
3
|
+
- Date captured: YYYY-MM-DD
|
|
4
|
+
- Author: name
|
|
5
|
+
- Status: Draft
|
|
6
|
+
|
|
7
|
+
## Problem / Why
|
|
8
|
+
|
|
9
|
+
What need or gap does this idea address?
|
|
10
|
+
|
|
11
|
+
## Proposed Behavior
|
|
12
|
+
|
|
13
|
+
What should the feature do at a high level?
|
|
14
|
+
|
|
15
|
+
## Acceptance Criteria (early draft)
|
|
16
|
+
|
|
17
|
+
- [ ] Criterion 1
|
|
18
|
+
- [ ] Criterion 2
|
|
19
|
+
|
|
20
|
+
## Constraints & Risks
|
|
21
|
+
|
|
22
|
+
List notable constraints (performance, compatibility, scope) or risks.
|
|
23
|
+
|
|
24
|
+
## Test Conditions to Consider
|
|
25
|
+
|
|
26
|
+
- [ ] Unit coverage areas
|
|
27
|
+
- [ ] Integration scenarios
|
|
28
|
+
- [ ] CLI/API examples
|
|
29
|
+
|
|
30
|
+
## Next Step
|
|
31
|
+
|
|
32
|
+
- [ ] Promote to GitHub issue (feature request template)
|
|
33
|
+
- [ ] Create `docs/features/active/<feature-name>/` folder from the template
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# <refactor-name> - Refactor Plan
|
|
2
|
+
|
|
3
|
+
- **Issue:** <issue>
|
|
4
|
+
- **Parent (optional):** <parent-id>
|
|
5
|
+
- **Owner:** <name>
|
|
6
|
+
- **Last Updated:** <yyyy-MM-ddTHH-mm>
|
|
7
|
+
- **Status:** <template>
|
|
8
|
+
- **Version:** <version_number>
|
|
9
|
+
|
|
10
|
+
## Required References (read, do not restate)
|
|
11
|
+
|
|
12
|
+
- Coding workflow and standards: [`docs/code-change.instructions.md`](../../code-change.instructions.md)
|
|
13
|
+
- Unit test policy: [`docs/unit-test-policy.md`](../../unit-test-policy.md)
|
|
14
|
+
|
|
15
|
+
## Strategy
|
|
16
|
+
|
|
17
|
+
Brief approach to reach the target structure while keeping behavior stable.
|
|
18
|
+
|
|
19
|
+
Fail-closed evidence rule: include explicit baseline artifact tasks, final-QA artifact tasks, and coverage-comparison tasks for each in-scope language when policy requires coverage. If any required baseline artifact, QA artifact, or coverage-comparison artifact is missing, the audit verdict must be BLOCKED or INCOMPLETE, never PASS.
|
|
20
|
+
|
|
21
|
+
Evidence accounting rule: record the expected artifact path or location in each evidence-producing task. Do not mark evidence-backed work complete without the artifact.
|
|
22
|
+
|
|
23
|
+
## Work Breakdown
|
|
24
|
+
|
|
25
|
+
### Phase 1: Inventory & Plan [0%]
|
|
26
|
+
- [ ] Enumerate current entry points/paths/imports to touch
|
|
27
|
+
- [ ] Confirm invariants and non-goals
|
|
28
|
+
|
|
29
|
+
### Phase 2: Execute Structural Changes [0%]
|
|
30
|
+
- [ ] Apply moves/renames to reach the target layout
|
|
31
|
+
- [ ] Update imports/tooling/entry points
|
|
32
|
+
- [ ] Remove or redirect legacy paths
|
|
33
|
+
|
|
34
|
+
### Phase 3: Verification & Cleanup [0%]
|
|
35
|
+
- [ ] Run tests/type checks; fix fallout
|
|
36
|
+
- [ ] Update docs/tasks/initiative references
|
|
37
|
+
- [ ] Final pass for stray references to old locations
|
|
38
|
+
|
|
39
|
+
## Test Plan
|
|
40
|
+
|
|
41
|
+
- Unit/Integration: impacted modules and any regression tests for invariants
|
|
42
|
+
- CLI/Workflow: end-to-end commands/tasks expected to remain stable
|
|
43
|
+
- Tooling: lint/type checks after path updates
|
|
44
|
+
- Coverage evidence: list baseline artifact paths, post-change artifact paths, and comparison artifact paths for each in-scope language
|
|
45
|
+
|
|
46
|
+
## Rollback / Contingency
|
|
47
|
+
|
|
48
|
+
How to revert or isolate if the refactor breaks downstream consumers (e.g., keep branch snapshot, git move plan).
|
|
49
|
+
|
|
50
|
+
## Open Questions / Notes
|
|
51
|
+
|
|
52
|
+
Capture decisions, risks, and follow-ups.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# <refactor-name> - Refactor Spec
|
|
2
|
+
|
|
3
|
+
- **Issue:** <issue>
|
|
4
|
+
- **Parent (optional):** <parent-id>
|
|
5
|
+
- **Owner:** <name>
|
|
6
|
+
- **Last Updated:** <yyyy-MM-ddTHH-mm>
|
|
7
|
+
- **Status:** <status>
|
|
8
|
+
- **Version:** <version_number>
|
|
9
|
+
|
|
10
|
+
## Intent & Outcomes
|
|
11
|
+
|
|
12
|
+
Why this refactor is needed (maintainability, consistency, scalability) and the desired end-state.
|
|
13
|
+
- Target users/personas impacted (if any) and expected impact:
|
|
14
|
+
- Success metrics or measurable outcomes:
|
|
15
|
+
|
|
16
|
+
## Invariants (must not change)
|
|
17
|
+
|
|
18
|
+
List the behaviors, contracts, and external surfaces that must remain identical (CLIs, APIs, outputs, data formats, paths).
|
|
19
|
+
- Performance characteristics to preserve (latency/throughput/memory):
|
|
20
|
+
- Compatibility guarantees (CLI flags, config schemas, versions):
|
|
21
|
+
|
|
22
|
+
## Scope (structural changes)
|
|
23
|
+
|
|
24
|
+
- What is being moved/renamed/re-organized
|
|
25
|
+
- Target module/package layout and entry points
|
|
26
|
+
- Any cleanup/removals included
|
|
27
|
+
- New internal boundaries or module ownership changes:
|
|
28
|
+
|
|
29
|
+
## Non-Goals
|
|
30
|
+
|
|
31
|
+
What is explicitly out of scope (new behavior, perf changes, UX changes, flags).
|
|
32
|
+
|
|
33
|
+
## Dependencies / Touchpoints
|
|
34
|
+
|
|
35
|
+
Upstream/downstream modules, CLIs, data paths, automation, or external consumers that rely on current structure.
|
|
36
|
+
- Required coordination (other teams, CI/CD, release tooling):
|
|
37
|
+
|
|
38
|
+
## Risks & Mitigations
|
|
39
|
+
|
|
40
|
+
Call out breakage risks (imports, paths, packaging, tooling) and how you will guard against them.
|
|
41
|
+
- Rollback or fallback strategy:
|
|
42
|
+
|
|
43
|
+
## Technical Specifications
|
|
44
|
+
|
|
45
|
+
- Files/modules expected to change:
|
|
46
|
+
- Public interfaces/contracts affected (even if behavior is unchanged):
|
|
47
|
+
- Data flow or validation adjustments:
|
|
48
|
+
- Logging/telemetry updates (if any):
|
|
49
|
+
- Migration or backfill needs (if any):
|
|
50
|
+
|
|
51
|
+
## Test Strategy
|
|
52
|
+
|
|
53
|
+
- Regression tests to add or update:
|
|
54
|
+
- Invariant validation tests (ensuring outputs/behavior unchanged):
|
|
55
|
+
- Edge cases and negative scenarios (import/path stability, CLI flags):
|
|
56
|
+
- Error handling and logging verification:
|
|
57
|
+
- Coverage impact and targets for changed lines/modules:
|
|
58
|
+
- Toolchain commands to run (format → lint → type-check → test):
|
|
59
|
+
- Manual validation steps (if required):
|
|
60
|
+
|
|
61
|
+
## Definition of Done
|
|
62
|
+
|
|
63
|
+
- [ ] Structure matches this spec; legacy paths retired or redirected
|
|
64
|
+
- [ ] Invariants validated with tests or comparisons
|
|
65
|
+
- [ ] Imports/tooling/entry points updated
|
|
66
|
+
- [ ] Edge cases and error handling verified
|
|
67
|
+
- [ ] Tests, linting, and type checks clean
|
|
68
|
+
- [ ] Docs updated (initiative/README/tasks as needed)
|
|
69
|
+
- [ ] Toolchain pass completed (format → lint → type-check → test)
|