@danmoisan/drm-copilot-mcp 1.1.22 → 1.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/mcp-server.js +18758 -12030
- package/package.json +1 -1
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/MEMORY.md +1 -1
- package/resources/claude-customizations/.claude/agent-memory/orchestrator/feedback_test_files_count_against_500_cap.md +4 -4
- package/resources/claude-customizations/.claude/agents/csharp-typed-engineer.md +1 -1
- package/resources/claude-customizations/.claude/agents/discovery-capability-sentinel.md +34 -0
- package/resources/claude-customizations/.claude/agents/feature-review.md +8 -0
- package/resources/claude-customizations/.claude/agents/legacy-parity-analyst.md +101 -43
- package/resources/claude-customizations/.claude/agents/migration-coverage-reviewer.md +107 -43
- package/resources/claude-customizations/.claude/agents/orchestrator.md +1 -1
- package/resources/claude-customizations/.claude/agents/parallel-orchestrator.md +60 -6
- package/resources/claude-customizations/.claude/agents/parallel-planner.md +21 -1
- package/resources/claude-customizations/.claude/agents/powershell-typed-engineer.md +1 -1
- package/resources/claude-customizations/.claude/agents/pr-author.md +48 -7
- package/resources/claude-customizations/.claude/agents/python-typed-engineer.md +1 -1
- package/resources/claude-customizations/.claude/agents/requirements-reconciler.md +117 -42
- package/resources/claude-customizations/.claude/agents/runtime-characterization-analyst.md +103 -43
- package/resources/claude-customizations/.claude/hooks/discovery-capability-probe.ps1 +102 -0
- package/resources/claude-customizations/.claude/hooks/enforce-discovery-artifact-gate.ps1 +69 -194
- package/resources/claude-customizations/.claude/hooks/enforce-discovery-planning-gate.ps1 +87 -0
- package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate-green-ci.ps1 +325 -0
- package/resources/claude-customizations/.claude/hooks/enforce-epic-merge-gate.ps1 +29 -7
- package/resources/claude-customizations/.claude/hooks/enforce-epic-worktree-removal-gate-resolution.ps1 +23 -10
- package/resources/claude-customizations/.claude/hooks/enforce-epic-worktree-removal-gate.ps1 +29 -21
- package/resources/claude-customizations/.claude/hooks/enforce-file-size-limit.ps1 +244 -0
- package/resources/claude-customizations/.claude/hooks/enforce-model-routing-receipt.ps1 +51 -0
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate-epic-scope.ps1 +168 -48
- package/resources/claude-customizations/.claude/hooks/enforce-orchestration-preimplementation-gate.ps1 +1 -1
- package/resources/claude-customizations/.claude/hooks/enforce-parallel-worktree-removal-gate.ps1 +22 -11
- package/resources/claude-customizations/.claude/hooks/enforce-powershell-batch-budget.ps1 +59 -20
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-command-allowlist.ps1 +51 -4
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill-helpers.ps1 +72 -11
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.current-branch.ps1 +149 -0
- package/resources/claude-customizations/.claude/hooks/enforce-pr-author-skill.epic-base-branch.ps1 +4 -2
- package/resources/claude-customizations/.claude/hooks/enforce-python-batch-budget.ps1 +59 -20
- package/resources/claude-customizations/.claude/hooks/record-discovery-agent-start.ps1 +132 -0
- package/resources/claude-customizations/.claude/hooks/validate-discovery-artifact-gate.ps1 +56 -212
- package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output-feature-folder.ps1 +146 -0
- package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output-rejection.ps1 +172 -0
- package/resources/claude-customizations/.claude/hooks/validate-orchestrator-output.ps1 +34 -4
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadius.psm1 +9 -3
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusAggregate.psm1 +154 -0
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusCombination.psm1 +228 -0
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusExtraction.psm1 +1 -0
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusNormalization.psm1 +4 -2
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusScheduling.psm1 +63 -16
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusTokenShape.psm1 +56 -1
- package/resources/claude-customizations/.claude/lib/blast-radius/BlastRadiusWriteIntent.psm1 +4 -1
- package/resources/claude-customizations/.claude/lib/cleanup-manifest/CleanupWorktreeManifest.psm1 +33 -6
- package/resources/claude-customizations/.claude/lib/codex-routing/CodexDeployment.psm1 +5 -1
- package/resources/claude-customizations/.claude/lib/codex-routing/CodexDiscoveryRouting.psm1 +161 -0
- package/resources/claude-customizations/.claude/lib/codex-routing/CodexTopology.psm1 +25 -2
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryAuthority.psd1 +90 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryAuthority.psm1 +493 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryAuthorization.psm1 +479 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryCapability.psm1 +468 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryEncoding.psm1 +156 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryManifest.psm1 +384 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryObservation.psm1 +217 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryPayload.psm1 +276 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryPlanning.psm1 +336 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryRootGrant.psm1 +164 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryStart.psm1 +440 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryStartRecord.psm1 +296 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryStop.psm1 +336 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryToolRouting.psm1 +228 -0
- package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryValidation.psm1 +188 -341
- package/resources/claude-customizations/.claude/lib/file-size-policy/FileSizePolicy.psm1 +434 -0
- package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateFeatureFolderRecord.psm1 +166 -0
- package/resources/claude-customizations/.claude/lib/orchestrator-state/OrchestratorStateIssueAdoption.psm1 +8 -3
- package/resources/claude-customizations/.claude/lib/worktree-resolution/HookTargetWorktree.psm1 +391 -0
- package/resources/claude-customizations/.claude/lib/worktree-resolution/WorktreeRunRecordPath.psm1 +185 -0
- package/resources/claude-customizations/.claude/lib/worktree-resolution/WorktreeRunResolution.psm1 +11 -21
- package/resources/claude-customizations/.claude/rules/general-code-change.md +4 -1
- package/resources/claude-customizations/.claude/rules/orchestrator-state.md +29 -5
- package/resources/claude-customizations/.claude/rules/parallel-orchestration.md +152 -20
- package/resources/claude-customizations/.claude/rules/powershell.md +1 -1
- package/resources/claude-customizations/.claude/rules/shell.md +1 -1
- package/resources/claude-customizations/.claude/settings.json +36 -3
- package/resources/claude-customizations/.claude/skills/adjudicate-unspecified-behavior/SKILL.md +135 -0
- package/resources/claude-customizations/.claude/skills/characterize-runtime-behavior/SKILL.md +134 -0
- package/resources/claude-customizations/.claude/skills/cleanup-merged-worktrees/SKILL.md +2 -2
- package/resources/claude-customizations/.claude/skills/discovery-behavior-reconciliation/SKILL.md +28 -47
- package/resources/claude-customizations/.claude/skills/discovery-coverage-ledger/SKILL.md +32 -48
- package/resources/claude-customizations/.claude/skills/discovery-parity-matrix/SKILL.md +28 -45
- package/resources/claude-customizations/.claude/skills/discovery-repo-inventory/SKILL.md +28 -62
- package/resources/claude-customizations/.claude/skills/discovery-runtime-characterization/SKILL.md +28 -45
- package/resources/claude-customizations/.claude/skills/discovery-validate-artifacts/SKILL.md +28 -61
- package/resources/claude-customizations/.claude/skills/discovery-workflow/SKILL.md +55 -139
- package/resources/claude-customizations/.claude/skills/execution-environment/SKILL.md +25 -10
- package/resources/claude-customizations/.claude/skills/extract-feature-contract/SKILL.md +133 -0
- package/resources/claude-customizations/.claude/skills/feature-promotion-lifecycle/SKILL.md +1 -0
- package/resources/claude-customizations/.claude/skills/generate-acceptance-scenarios/SKILL.md +132 -0
- package/resources/claude-customizations/.claude/skills/initialize-discovery-workspace/SKILL.md +131 -0
- package/resources/claude-customizations/.claude/skills/inventory-legacy-system/SKILL.md +131 -0
- package/resources/claude-customizations/.claude/skills/orchestrate/SKILL.md +15 -7
- package/resources/claude-customizations/.claude/skills/parallel-add/SKILL.md +25 -2
- package/resources/claude-customizations/.claude/skills/parallel-close/SKILL.md +11 -1
- package/resources/claude-customizations/.claude/skills/parallel-orchestrate/SKILL.md +124 -14
- package/resources/claude-customizations/.claude/skills/parallel-plan/SKILL.md +72 -7
- package/resources/claude-customizations/.claude/skills/parallel-remove/SKILL.md +15 -0
- package/resources/claude-customizations/.claude/skills/parallel-run/SKILL.md +6 -0
- package/resources/claude-customizations/.claude/skills/pr-author/SKILL.md +56 -9
- package/resources/claude-customizations/.claude/skills/reconcile-parity-matrix/SKILL.md +131 -0
- package/resources/claude-customizations/.claude/skills/review-discovery-coverage/SKILL.md +129 -0
- package/resources/claude-customizations/.claude/skills/validate-discovery-artifacts/SKILL.md +127 -0
- package/resources/claude-customizations/.claude-variants/csharp-legacy/agents/csharp-typed-engineer.md +1 -1
- package/resources/claude-customizations/config/blast-radius.json +6 -5
- package/resources/claude-customizations/config/orchestration-routing.json +61 -1
- package/resources/claude-customizations/pack-manifests/core.json +40 -1
- package/resources/codex-and-agents-customizations/.agents/skills/adjudicate-unspecified-behavior/SKILL.md +135 -0
- package/resources/codex-and-agents-customizations/.agents/skills/atomic-planner/SKILL.md +7 -0
- package/resources/codex-and-agents-customizations/.agents/skills/characterize-runtime-behavior/SKILL.md +134 -0
- package/resources/codex-and-agents-customizations/.agents/skills/discovery-behavior-reconciliation/SKILL.md +46 -0
- package/resources/codex-and-agents-customizations/.agents/skills/discovery-coverage-ledger/SKILL.md +50 -0
- package/resources/codex-and-agents-customizations/.agents/skills/discovery-parity-matrix/SKILL.md +46 -0
- package/resources/codex-and-agents-customizations/.agents/skills/discovery-repo-inventory/SKILL.md +46 -0
- package/resources/codex-and-agents-customizations/.agents/skills/discovery-runtime-characterization/SKILL.md +46 -0
- package/resources/codex-and-agents-customizations/.agents/skills/discovery-validate-artifacts/SKILL.md +46 -0
- package/resources/codex-and-agents-customizations/.agents/skills/discovery-workflow/SKILL.md +62 -0
- package/resources/codex-and-agents-customizations/.agents/skills/execution-environment/SKILL.md +25 -10
- package/resources/codex-and-agents-customizations/.agents/skills/extract-feature-contract/SKILL.md +133 -0
- package/resources/codex-and-agents-customizations/.agents/skills/feature-promotion-lifecycle/SKILL.md +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/feature-review/SKILL.md +8 -0
- package/resources/codex-and-agents-customizations/.agents/skills/general-code-change/SKILL.md +4 -1
- package/resources/codex-and-agents-customizations/.agents/skills/generate-acceptance-scenarios/SKILL.md +132 -0
- package/resources/codex-and-agents-customizations/.agents/skills/initialize-discovery-workspace/SKILL.md +131 -0
- package/resources/codex-and-agents-customizations/.agents/skills/inventory-legacy-system/SKILL.md +131 -0
- package/resources/codex-and-agents-customizations/.agents/skills/orchestrator-workflow/SKILL.md +8 -0
- package/resources/codex-and-agents-customizations/.agents/skills/powershell/SKILL.md +1 -1
- package/resources/codex-and-agents-customizations/.agents/skills/reconcile-parity-matrix/SKILL.md +131 -0
- package/resources/codex-and-agents-customizations/.agents/skills/review-discovery-coverage/SKILL.md +129 -0
- package/resources/codex-and-agents-customizations/.agents/skills/validate-discovery-artifacts/SKILL.md +127 -0
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c1.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c2.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c3-elevated.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c3.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer-c4.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/csharp-typed-engineer.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/discovery-capability-sentinel.toml +51 -0
- package/resources/codex-and-agents-customizations/.codex/agents/feature-review.toml +8 -0
- package/resources/codex-and-agents-customizations/.codex/agents/legacy-parity-analyst-c1.toml +148 -0
- package/resources/codex-and-agents-customizations/.codex/agents/legacy-parity-analyst-c2.toml +148 -0
- package/resources/codex-and-agents-customizations/.codex/agents/legacy-parity-analyst-c3-elevated.toml +148 -0
- package/resources/codex-and-agents-customizations/.codex/agents/legacy-parity-analyst-c3.toml +148 -0
- package/resources/codex-and-agents-customizations/.codex/agents/legacy-parity-analyst-c4.toml +148 -0
- package/resources/codex-and-agents-customizations/.codex/agents/legacy-parity-analyst.toml +148 -0
- package/resources/codex-and-agents-customizations/.codex/agents/migration-coverage-reviewer-c1.toml +154 -0
- package/resources/codex-and-agents-customizations/.codex/agents/migration-coverage-reviewer-c2.toml +154 -0
- package/resources/codex-and-agents-customizations/.codex/agents/migration-coverage-reviewer-c3-elevated.toml +154 -0
- package/resources/codex-and-agents-customizations/.codex/agents/migration-coverage-reviewer-c3.toml +154 -0
- package/resources/codex-and-agents-customizations/.codex/agents/migration-coverage-reviewer-c4.toml +154 -0
- package/resources/codex-and-agents-customizations/.codex/agents/migration-coverage-reviewer.toml +154 -0
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c1.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c2.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c3-elevated.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c3.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer-c4.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/powershell-typed-engineer.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c1.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c2.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c3-elevated.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c3.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer-c4.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/python-typed-engineer.toml +1 -1
- package/resources/codex-and-agents-customizations/.codex/agents/requirements-reconciler-c1.toml +164 -0
- package/resources/codex-and-agents-customizations/.codex/agents/requirements-reconciler-c2.toml +164 -0
- package/resources/codex-and-agents-customizations/.codex/agents/requirements-reconciler-c3-elevated.toml +164 -0
- package/resources/codex-and-agents-customizations/.codex/agents/requirements-reconciler-c3.toml +164 -0
- package/resources/codex-and-agents-customizations/.codex/agents/requirements-reconciler-c4.toml +164 -0
- package/resources/codex-and-agents-customizations/.codex/agents/requirements-reconciler.toml +164 -0
- package/resources/codex-and-agents-customizations/.codex/agents/runtime-characterization-analyst-c1.toml +150 -0
- package/resources/codex-and-agents-customizations/.codex/agents/runtime-characterization-analyst-c2.toml +150 -0
- package/resources/codex-and-agents-customizations/.codex/agents/runtime-characterization-analyst-c3-elevated.toml +150 -0
- package/resources/codex-and-agents-customizations/.codex/agents/runtime-characterization-analyst-c3.toml +150 -0
- package/resources/codex-and-agents-customizations/.codex/agents/runtime-characterization-analyst-c4.toml +150 -0
- package/resources/codex-and-agents-customizations/.codex/agents/runtime-characterization-analyst.toml +150 -0
- package/resources/codex-and-agents-customizations/.codex/config.toml +39 -3
- package/resources/codex-and-agents-customizations/.codex/hooks/codex-agent-profile-attestation.ps1 +22 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/discovery-capability-probe.ps1 +97 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/discovery-start-attestation.ps1 +171 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-codex-model-routing.ps1 +4 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-discovery-artifact-gate.ps1 +187 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-discovery-planning-gate.ps1 +149 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-file-size-limit.ps1 +282 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate-epic-scope.ps1 +239 -2
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-orchestration-preimplementation-gate.ps1 +6 -15
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-powershell-batch-budget.ps1 +54 -15
- package/resources/codex-and-agents-customizations/.codex/hooks/enforce-python-batch-budget.ps1 +54 -15
- package/resources/codex-and-agents-customizations/.codex/hooks/file-size-policy.ps1 +421 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/hook-target-worktree.ps1 +369 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/record-subagent-routing-attestation.ps1 +8 -0
- package/resources/codex-and-agents-customizations/.codex/hooks/validate-codex-subagent-routing.ps1 +22 -1
- package/resources/codex-and-agents-customizations/.codex/hooks/validate-discovery-agent-output.ps1 +178 -0
- package/resources/codex-and-agents-customizations/.codex/scripts/Resolve-CodexTopology.ps1 +11 -1
- package/resources/codex-and-agents-customizations/.codex-variants/csharp-legacy/agents/csharp-typed-engineer.toml +1 -1
- package/resources/codex-and-agents-customizations/AGENTS.md +4 -1
- package/resources/codex-and-agents-customizations/pack-manifests/core.json +65 -1
- package/resources/config/orchestration-routing.json +61 -1
- package/resources/customizations/.github/agents/commentary-remediation.agent.md +1 -1
- package/resources/customizations/.github/agents/discovery-capability-sentinel.agent.md +34 -0
- package/resources/customizations/.github/agents/legacy-parity-analyst.agent.md +122 -0
- package/resources/customizations/.github/agents/migration-coverage-reviewer.agent.md +128 -0
- package/resources/customizations/.github/agents/python-execution-only-typed.agent.md +1 -1
- package/resources/customizations/.github/agents/python-typed-engineer.agent.md +1 -1
- package/resources/customizations/.github/agents/requirements-reconciler.agent.md +138 -0
- package/resources/customizations/.github/agents/runtime-characterization-analyst.agent.md +124 -0
- package/resources/customizations/.github/hooks/discovery-agent-start.ps1 +139 -0
- package/resources/customizations/.github/hooks/discovery-agent-stop.ps1 +123 -0
- package/resources/customizations/.github/hooks/discovery-capability-probe.ps1 +98 -0
- package/resources/customizations/.github/hooks/discovery-planning.ps1 +91 -0
- package/resources/customizations/.github/hooks/discovery-pre-tool.ps1 +123 -0
- package/resources/customizations/.github/hooks/discovery.json +35 -0
- package/resources/customizations/.github/instructions/general-code-change.instructions.md +5 -2
- package/resources/customizations/.github/instructions/mermaid.instructions.md +85 -0
- package/resources/customizations/.github/instructions/powershell-code-change.instructions.md +1 -1
- package/resources/customizations/.github/prompts/execute-hard-lock.prompt.md +105 -0
- package/resources/customizations/.github/prompts/remediate-comments.prompt.md +1 -1
- package/resources/customizations/.github/skills/adjudicate-unspecified-behavior/SKILL.md +135 -0
- package/resources/customizations/.github/skills/characterize-runtime-behavior/SKILL.md +134 -0
- package/resources/customizations/.github/skills/discovery-behavior-reconciliation/SKILL.md +46 -0
- package/resources/customizations/.github/skills/discovery-coverage-ledger/SKILL.md +50 -0
- package/resources/customizations/.github/skills/discovery-parity-matrix/SKILL.md +46 -0
- package/resources/customizations/.github/skills/discovery-repo-inventory/SKILL.md +46 -0
- package/resources/customizations/.github/skills/discovery-runtime-characterization/SKILL.md +46 -0
- package/resources/customizations/.github/skills/discovery-validate-artifacts/SKILL.md +46 -0
- package/resources/customizations/.github/skills/discovery-workflow/SKILL.md +62 -0
- package/resources/customizations/.github/skills/execution-environment/SKILL.md +25 -10
- package/resources/customizations/.github/skills/extract-feature-contract/SKILL.md +133 -0
- package/resources/customizations/.github/skills/feature-review-workflow/SKILL.md +8 -0
- package/resources/customizations/.github/skills/generate-acceptance-scenarios/SKILL.md +132 -0
- package/resources/customizations/.github/skills/initialize-discovery-workspace/SKILL.md +131 -0
- package/resources/customizations/.github/skills/inventory-legacy-system/SKILL.md +131 -0
- package/resources/customizations/.github/skills/reconcile-parity-matrix/SKILL.md +131 -0
- package/resources/customizations/.github/skills/review-discovery-coverage/SKILL.md +129 -0
- package/resources/customizations/.github/skills/validate-discovery-artifacts/SKILL.md +127 -0
- package/resources/lib/codex-routing/CodexDeployment.psm1 +5 -1
- package/resources/lib/codex-routing/CodexDiscoveryRouting.psm1 +161 -0
- package/resources/lib/codex-routing/CodexTopology.psm1 +25 -2
- package/resources/lib/discovery-validation/DiscoveryAuthority.psd1 +90 -0
- package/resources/lib/discovery-validation/DiscoveryAuthority.psm1 +493 -0
- package/resources/lib/discovery-validation/DiscoveryAuthorization.psm1 +479 -0
- package/resources/lib/discovery-validation/DiscoveryCapability.psm1 +468 -0
- package/resources/lib/discovery-validation/DiscoveryEncoding.psm1 +156 -0
- package/resources/lib/discovery-validation/DiscoveryManifest.psm1 +384 -0
- package/resources/lib/discovery-validation/DiscoveryObservation.psm1 +217 -0
- package/resources/lib/discovery-validation/DiscoveryPayload.psm1 +276 -0
- package/resources/lib/discovery-validation/DiscoveryPlanning.psm1 +336 -0
- package/resources/lib/discovery-validation/DiscoveryRootGrant.psm1 +164 -0
- package/resources/lib/discovery-validation/DiscoveryStart.psm1 +440 -0
- package/resources/lib/discovery-validation/DiscoveryStartRecord.psm1 +296 -0
- package/resources/lib/discovery-validation/DiscoveryStop.psm1 +336 -0
- package/resources/lib/discovery-validation/DiscoveryToolRouting.psm1 +228 -0
- package/resources/powershell/PoshQC/PoshQC.Parallel.psm1 +452 -0
- package/resources/powershell/PoshQC/PoshQC.Shard.psm1 +106 -8
- package/resources/powershell/PoshQC/PoshQC.Testing.psm1 +12 -0
- package/resources/powershell/PoshQC/PoshQC.psd1 +6 -1
- package/resources/powershell/PoshQC/PoshQC.psm1 +7 -1
- package/resources/powershell/PoshQC/README.md +20 -1
- package/resources/templates/policy_audit/code-review.yyyy-MM-ddTHH-mm.md +4 -4
- package/resources/templates/policy_audit/policy-audit.yyyy-MM-ddTHH-mm.md +4 -4
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
<#
|
|
2
|
+
.SYNOPSIS
|
|
3
|
+
Constrain direct discovery routing to the fixed operation contracts.
|
|
4
|
+
.DESCRIPTION
|
|
5
|
+
Pure companion to CodexTopology. Constants mirror discovery_operations in
|
|
6
|
+
config/orchestration-routing.json so published consumers need no config or
|
|
7
|
+
interpreter. Receipts describe a specialist and allowed output kinds; they
|
|
8
|
+
grant no writes, approvals, installation rights, or native tool authority.
|
|
9
|
+
CONVENTION: this module fails fast at module scope and imports its siblings with -ErrorAction Stop.
|
|
10
|
+
#>
|
|
11
|
+
Set-StrictMode -Version Latest
|
|
12
|
+
$ErrorActionPreference = 'Stop'
|
|
13
|
+
|
|
14
|
+
# Keep each exact operation independent: sharing a role never broadens its kinds.
|
|
15
|
+
$script:DISCOVERY_OPERATIONS = @{
|
|
16
|
+
'inventory-legacy-system' = @{
|
|
17
|
+
role = 'legacy-parity-analyst'
|
|
18
|
+
kinds = @('coverage-ledger', 'evidence-reference', 'inventory-snapshot',
|
|
19
|
+
'required-output-manifest', 'unspecified-behavior', 'unspecified-behavior-collection')
|
|
20
|
+
}
|
|
21
|
+
'extract-feature-contract' = @{
|
|
22
|
+
role = 'legacy-parity-analyst'
|
|
23
|
+
kinds = @('coverage-ledger', 'evidence-reference', 'feature-contract',
|
|
24
|
+
'required-output-manifest', 'unspecified-behavior', 'unspecified-behavior-collection')
|
|
25
|
+
}
|
|
26
|
+
'characterize-runtime-behavior' = @{
|
|
27
|
+
role = 'runtime-characterization-analyst'
|
|
28
|
+
kinds = @('evidence-payload', 'evidence-reference', 'required-output-manifest',
|
|
29
|
+
'runtime-characterization-scenario', 'unspecified-behavior', 'unspecified-behavior-collection')
|
|
30
|
+
}
|
|
31
|
+
'reconcile-parity-matrix' = @{
|
|
32
|
+
role = 'requirements-reconciler'
|
|
33
|
+
kinds = @('parity-matrix', 'required-output-manifest',
|
|
34
|
+
'unspecified-behavior', 'unspecified-behavior-collection')
|
|
35
|
+
}
|
|
36
|
+
'review-discovery-coverage' = @{
|
|
37
|
+
role = 'migration-coverage-reviewer'
|
|
38
|
+
kinds = @('completion-report', 'coverage-report', 'parity-report',
|
|
39
|
+
'required-output-manifest', 'validation-report')
|
|
40
|
+
}
|
|
41
|
+
'adjudicate-unspecified-behavior' = @{
|
|
42
|
+
role = 'requirements-reconciler'
|
|
43
|
+
kinds = @('acceptance-specification', 'acceptance-view', 'product-decision',
|
|
44
|
+
'product-decision-collection', 'required-output-manifest',
|
|
45
|
+
'unspecified-behavior', 'unspecified-behavior-collection')
|
|
46
|
+
}
|
|
47
|
+
'generate-acceptance-scenarios' = @{
|
|
48
|
+
role = 'requirements-reconciler'
|
|
49
|
+
kinds = @('acceptance-specification', 'acceptance-view', 'required-output-manifest')
|
|
50
|
+
}
|
|
51
|
+
'initialize-discovery-workspace' = @{
|
|
52
|
+
role = 'migration-coverage-reviewer'
|
|
53
|
+
kinds = @('coverage-report', 'required-output-manifest', 'validation-report')
|
|
54
|
+
}
|
|
55
|
+
'validate-discovery-artifacts' = @{
|
|
56
|
+
role = 'migration-coverage-reviewer'
|
|
57
|
+
kinds = @('coverage-report', 'required-output-manifest', 'validation-report')
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function Resolve-CodexDiscoveryTopology {
|
|
62
|
+
<#
|
|
63
|
+
.SYNOPSIS
|
|
64
|
+
Select a fixed discovery role or allow the unchanged ordinary route.
|
|
65
|
+
.DESCRIPTION
|
|
66
|
+
Called after topology validates context, languages, counts and boolean
|
|
67
|
+
type. Validates selectors without coercion, rejects nonzero code/test
|
|
68
|
+
scope and root overrides, then returns a new seventeen-key receipt.
|
|
69
|
+
Ordinary requests with no skill return null. Invalid selectors or
|
|
70
|
+
combinations throw ArgumentException in the shared contract order.
|
|
71
|
+
No I/O or native authority is created; returned arrays are fresh copies.
|
|
72
|
+
.PARAMETER InvocationKind
|
|
73
|
+
Exact ordinary or discovery string; all other values are rejected.
|
|
74
|
+
.PARAMETER SkillId
|
|
75
|
+
Exact canonical skill string for discovery, null for ordinary requests.
|
|
76
|
+
.PARAMETER Context
|
|
77
|
+
Execution context already validated by the topology resolver; retained
|
|
78
|
+
unchanged. Named Context because ExecutionContext is a readonly
|
|
79
|
+
automatic variable.
|
|
80
|
+
.PARAMETER Language
|
|
81
|
+
Already normalized languages. Discovery requires an empty collection.
|
|
82
|
+
.PARAMETER ProductionFileCount
|
|
83
|
+
Already validated integer count. Discovery requires zero.
|
|
84
|
+
.PARAMETER TestFileCount
|
|
85
|
+
Already validated integer count. Discovery requires zero.
|
|
86
|
+
.PARAMETER CrossCutting
|
|
87
|
+
Already validated boolean. Discovery requires false.
|
|
88
|
+
.PARAMETER RootPersona
|
|
89
|
+
Raw optional root override. Discovery requires null.
|
|
90
|
+
.OUTPUTS
|
|
91
|
+
System.Collections.Hashtable for discovery, or null for ordinary routing.
|
|
92
|
+
#>
|
|
93
|
+
[CmdletBinding()]
|
|
94
|
+
[OutputType([hashtable])]
|
|
95
|
+
param(
|
|
96
|
+
[Parameter(Mandatory)][AllowNull()][object] $InvocationKind,
|
|
97
|
+
[Parameter(Mandatory)][AllowNull()][object] $SkillId,
|
|
98
|
+
[Parameter(Mandatory)][string] $Context,
|
|
99
|
+
[Parameter(Mandatory)][AllowEmptyCollection()][string[]] $Language,
|
|
100
|
+
[Parameter(Mandatory)][int] $ProductionFileCount,
|
|
101
|
+
[Parameter(Mandatory)][int] $TestFileCount,
|
|
102
|
+
[Parameter(Mandatory)][bool] $CrossCutting,
|
|
103
|
+
[Parameter(Mandatory)][AllowNull()][object] $RootPersona
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
# Object selectors retain their actual types; case-insensitive coercion
|
|
107
|
+
# would otherwise admit unsupported operations at this authority boundary.
|
|
108
|
+
if ($InvocationKind -isnot [string] -or @('ordinary', 'discovery') -cnotcontains $InvocationKind) {
|
|
109
|
+
throw [System.ArgumentException]::new('invocation_kind must be ordinary or discovery.')
|
|
110
|
+
}
|
|
111
|
+
if ($InvocationKind -ceq 'ordinary') {
|
|
112
|
+
if ($null -ne $SkillId) {
|
|
113
|
+
throw [System.ArgumentException]::new('skill_id is only valid for discovery invocations.')
|
|
114
|
+
}
|
|
115
|
+
return $null
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
# Reject discovery scope before looking up a role, preserving guard order
|
|
119
|
+
# even when several fields are malformed in the same invocation.
|
|
120
|
+
if ($null -ne $RootPersona) {
|
|
121
|
+
throw [System.ArgumentException]::new('Discovery invocations do not accept root_persona.')
|
|
122
|
+
}
|
|
123
|
+
if ($ProductionFileCount -ne 0) {
|
|
124
|
+
throw [System.ArgumentException]::new('Discovery invocations require production_file_count=0.')
|
|
125
|
+
}
|
|
126
|
+
if ($TestFileCount -ne 0) {
|
|
127
|
+
throw [System.ArgumentException]::new('Discovery invocations require test_file_count=0.')
|
|
128
|
+
}
|
|
129
|
+
if ($Language.Count -ne 0) {
|
|
130
|
+
throw [System.ArgumentException]::new('Discovery invocations do not accept languages.')
|
|
131
|
+
}
|
|
132
|
+
if ($CrossCutting) {
|
|
133
|
+
throw [System.ArgumentException]::new('Discovery invocations do not accept cross_cutting.')
|
|
134
|
+
}
|
|
135
|
+
if ($SkillId -isnot [string] -or $script:DISCOVERY_OPERATIONS.Keys -cnotcontains $SkillId) {
|
|
136
|
+
throw [System.ArgumentException]::new('Discovery invocations require a supported skill_id.')
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
$operation = $script:DISCOVERY_OPERATIONS[$SkillId]
|
|
140
|
+
return @{
|
|
141
|
+
execution_context = $Context
|
|
142
|
+
languages = [string[]]@()
|
|
143
|
+
production_file_count = 0
|
|
144
|
+
test_file_count = 0
|
|
145
|
+
cross_cutting = $false
|
|
146
|
+
root_persona = $null
|
|
147
|
+
route = 'discovery'
|
|
148
|
+
topology = 'discovery_specialist'
|
|
149
|
+
logical_agent = $operation.role
|
|
150
|
+
routing_reason = 'fixed_discovery_operation'
|
|
151
|
+
max_production_files = 0
|
|
152
|
+
max_test_files = 0
|
|
153
|
+
invocation_kind = 'discovery'
|
|
154
|
+
skill_id = $SkillId
|
|
155
|
+
output_contract_version = '2.0.0'
|
|
156
|
+
permissible_artifact_kinds = [string[]]@($operation.kinds)
|
|
157
|
+
gate_mode = 'agent-output'
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
Export-ModuleMember -Function Resolve-CodexDiscoveryTopology
|
|
@@ -53,6 +53,8 @@
|
|
|
53
53
|
Set-StrictMode -Version Latest
|
|
54
54
|
$ErrorActionPreference = 'Stop'
|
|
55
55
|
|
|
56
|
+
Import-Module (Join-Path $PSScriptRoot 'CodexDiscoveryRouting.psm1') -ErrorAction Stop
|
|
57
|
+
|
|
56
58
|
# The three permitted execution contexts, the sorted tuple rendering the Python
|
|
57
59
|
# message interpolates, and the two contexts that mark epic child work.
|
|
58
60
|
$script:VALID_EXECUTION_CONTEXTS = @('standalone', 'epic_preparation_child', 'epic_execution_child')
|
|
@@ -249,11 +251,17 @@ function Resolve-CodexTopology {
|
|
|
249
251
|
Whether the change is cross-cutting. Must be a boolean.
|
|
250
252
|
.PARAMETER RootPersona
|
|
251
253
|
An optional forced root persona, which requires a standalone context.
|
|
254
|
+
.PARAMETER InvocationKind
|
|
255
|
+
Exact ordinary or discovery selector. Defaults to ordinary routing.
|
|
256
|
+
.PARAMETER SkillId
|
|
257
|
+
Exact canonical discovery operation. Must be absent for ordinary routing.
|
|
252
258
|
.OUTPUTS
|
|
253
259
|
System.Collections.Hashtable with the twelve resolved keys:
|
|
254
260
|
execution_context, languages, production_file_count, test_file_count,
|
|
255
261
|
cross_cutting, root_persona, route, topology, logical_agent,
|
|
256
|
-
routing_reason, max_production_files, max_test_files.
|
|
262
|
+
routing_reason, max_production_files, max_test_files. Discovery adds
|
|
263
|
+
invocation_kind, skill_id, output_contract_version,
|
|
264
|
+
permissible_artifact_kinds, and gate_mode; it grants no write authority.
|
|
257
265
|
#>
|
|
258
266
|
[CmdletBinding()]
|
|
259
267
|
[OutputType([hashtable])]
|
|
@@ -281,7 +289,15 @@ function Resolve-CodexTopology {
|
|
|
281
289
|
|
|
282
290
|
[Parameter(Mandatory = $false)]
|
|
283
291
|
[AllowNull()]
|
|
284
|
-
[object] $RootPersona = $null
|
|
292
|
+
[object] $RootPersona = $null,
|
|
293
|
+
|
|
294
|
+
[Parameter(Mandatory = $false)]
|
|
295
|
+
[AllowNull()]
|
|
296
|
+
[object] $InvocationKind = 'ordinary',
|
|
297
|
+
|
|
298
|
+
[Parameter(Mandatory = $false)]
|
|
299
|
+
[AllowNull()]
|
|
300
|
+
[object] $SkillId = $null
|
|
285
301
|
)
|
|
286
302
|
|
|
287
303
|
if ($script:VALID_EXECUTION_CONTEXTS -cnotcontains $ExecutionContext) {
|
|
@@ -307,6 +323,13 @@ function Resolve-CodexTopology {
|
|
|
307
323
|
$testCount = [int]$TestFileCount
|
|
308
324
|
$isCrossCutting = [bool]$CrossCutting
|
|
309
325
|
|
|
326
|
+
# Discovery validates its closed selector before ordinary root/epic/count
|
|
327
|
+
# dispatch. A fixed specialist receipt conveys routing, never tool grants.
|
|
328
|
+
$discovery = Resolve-CodexDiscoveryTopology -InvocationKind $InvocationKind -SkillId $SkillId `
|
|
329
|
+
-Context $context -Language $languages -ProductionFileCount $productionCount `
|
|
330
|
+
-TestFileCount $testCount -CrossCutting $isCrossCutting -RootPersona $RootPersona
|
|
331
|
+
if ($null -ne $discovery) { return $discovery }
|
|
332
|
+
|
|
310
333
|
# A forced root persona short-circuits all escalation logic and selects
|
|
311
334
|
# itself, but only from a standalone context.
|
|
312
335
|
if ($null -ne $RootPersona) {
|
package/resources/claude-customizations/.claude/lib/discovery-validation/DiscoveryAuthority.psd1
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
@{
|
|
2
|
+
# Module manifest for the shared native discovery authority primitives (issue #980).
|
|
3
|
+
# Importing this manifest loads the authority, manifest and payload modules together
|
|
4
|
+
# so a hook can take every narrow primitive from one import.
|
|
5
|
+
RootModule = 'DiscoveryAuthority.psm1'
|
|
6
|
+
ModuleVersion = '2.0.0'
|
|
7
|
+
GUID = '5d0b8e5e-3b7f-4a2a-9f8e-2f9f0b9a7c11'
|
|
8
|
+
Author = 'drm-copilot'
|
|
9
|
+
CompanyName = 'drm-copilot'
|
|
10
|
+
Copyright = '(c) drm-copilot. All rights reserved.'
|
|
11
|
+
Description = 'Protected discovery authority location, activation decoding, input-manifest freshness and host envelope normalization for native discovery hooks.'
|
|
12
|
+
PowerShellVersion = '7.0'
|
|
13
|
+
NestedModules = @('DiscoveryEncoding.psm1', 'DiscoveryManifest.psm1', 'DiscoveryPayload.psm1', 'DiscoveryAuthorization.psm1', 'DiscoveryStartRecord.psm1', 'DiscoveryStart.psm1', 'DiscoveryStop.psm1', 'DiscoveryPlanning.psm1', 'DiscoveryCapability.psm1')
|
|
14
|
+
FunctionsToExport = @(
|
|
15
|
+
'Get-DiscoverySha256Hex',
|
|
16
|
+
'Get-DiscoveryBytesSha256Hex',
|
|
17
|
+
'ConvertTo-DiscoveryCanonicalJson',
|
|
18
|
+
'Invoke-DiscoveryStoreSeam',
|
|
19
|
+
'Resolve-DiscoveryAuthorityLocation',
|
|
20
|
+
'Get-DiscoveryTrustedHostEnvironment',
|
|
21
|
+
'Get-DiscoveryPartitionName',
|
|
22
|
+
'Get-DiscoverySessionDirectory',
|
|
23
|
+
'Get-DiscoveryInvocationDirectory',
|
|
24
|
+
'Get-DiscoveryActivationRecordPath',
|
|
25
|
+
'Test-DiscoveryProtectedPath',
|
|
26
|
+
'Test-DiscoveryRelativePath',
|
|
27
|
+
'ConvertFrom-DiscoveryActivationRecord',
|
|
28
|
+
'Read-DiscoveryActivationState',
|
|
29
|
+
'ConvertFrom-DiscoveryInputManifest',
|
|
30
|
+
'Get-DiscoveryInputManifestDigest',
|
|
31
|
+
'Get-DiscoveryWorkspacePath',
|
|
32
|
+
'Compare-DiscoveryInputManifest',
|
|
33
|
+
'Assert-DiscoveryInputsFresh',
|
|
34
|
+
'Test-DiscoverySupportedHost',
|
|
35
|
+
'ConvertFrom-DiscoveryHostEnvelope',
|
|
36
|
+
'ConvertFrom-DiscoveryHostPayloadText',
|
|
37
|
+
'Get-DiscoveryTrustedPrincipal',
|
|
38
|
+
'Get-DiscoveryHostEnvironmentValueTable',
|
|
39
|
+
'Get-DiscoveryPayloadAnomalyReason',
|
|
40
|
+
'Resolve-DiscoveryToolName',
|
|
41
|
+
'Get-DiscoveryToolOperation',
|
|
42
|
+
'Get-DiscoveryInputDigest',
|
|
43
|
+
'Find-DiscoveryAgentInvocation',
|
|
44
|
+
'ConvertTo-DiscoveryToolAuthorizationRecord',
|
|
45
|
+
'Get-DiscoveryDefaultStore',
|
|
46
|
+
'Get-DiscoveryAuthorizationNonce',
|
|
47
|
+
'Get-DiscoveryPreToolDecision',
|
|
48
|
+
'ConvertTo-DiscoveryPreToolHookOutput',
|
|
49
|
+
'Get-DiscoveryAgentRole',
|
|
50
|
+
'Get-DiscoveryAgentProfilePath',
|
|
51
|
+
'ConvertFrom-DiscoveryMarkdownProfile',
|
|
52
|
+
'Read-DiscoveryAgentProfile',
|
|
53
|
+
'ConvertTo-DiscoveryUtcInstant',
|
|
54
|
+
'ConvertTo-DiscoveryStartedInvocationText',
|
|
55
|
+
'ConvertTo-DiscoveryStartAttestationRecord',
|
|
56
|
+
'Get-DiscoveryStartStore',
|
|
57
|
+
'Get-DiscoveryStartAttestationFileName',
|
|
58
|
+
'Find-DiscoveryPreparedInvocation',
|
|
59
|
+
'Get-DiscoveryDeploymentMismatch',
|
|
60
|
+
'Get-DiscoveryCapabilityMismatch',
|
|
61
|
+
'Get-DiscoveryStartDecision',
|
|
62
|
+
'Get-DiscoveryAuthorizationNonceText',
|
|
63
|
+
'ConvertTo-DiscoveryStartHookOutput',
|
|
64
|
+
'Find-DiscoveryAgentInvocationForStop',
|
|
65
|
+
'Get-DiscoveryReceiptMismatch',
|
|
66
|
+
'Get-DiscoveryStopDecision',
|
|
67
|
+
'Get-DiscoveryStopVerdict',
|
|
68
|
+
'Get-DiscoveryPlanningTarget',
|
|
69
|
+
'Get-DiscoveryPlanningPrerequisite',
|
|
70
|
+
'Get-DiscoveryPlanningReceiptMismatch',
|
|
71
|
+
'Get-DiscoveryPlanningDecision',
|
|
72
|
+
'ConvertTo-DiscoveryPlanningHookOutput',
|
|
73
|
+
'Get-DiscoverySentinelRequest',
|
|
74
|
+
'Get-DiscoverySentinelEnvelope',
|
|
75
|
+
'Get-DiscoverySessionObservation',
|
|
76
|
+
'Get-DiscoveryObservationEvidence',
|
|
77
|
+
'Get-DiscoveryHostRegistration',
|
|
78
|
+
'Test-DiscoveryHandlerRegistered',
|
|
79
|
+
'Get-DiscoveryCapabilityObservation',
|
|
80
|
+
'Write-DiscoveryCapabilityAttestation'
|
|
81
|
+
)
|
|
82
|
+
CmdletsToExport = @()
|
|
83
|
+
VariablesToExport = @()
|
|
84
|
+
AliasesToExport = @()
|
|
85
|
+
PrivateData = @{
|
|
86
|
+
PSData = @{
|
|
87
|
+
Tags = @('drm-copilot', 'discovery', 'hooks')
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|