@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
|
@@ -40,7 +40,7 @@ Use these sections in this order:
|
|
|
40
40
|
8. **Risks and Mitigations** — realistic risks with mitigations and rollback notes
|
|
41
41
|
9. **Review Guide** — suggested order, noisy mechanical moves, large diffs
|
|
42
42
|
10. **Follow-ups** — known TODOs, deferred cleanup, next PRs
|
|
43
|
-
11. **GitHub Auto-close** — `- Closes #NNN`
|
|
43
|
+
11. **GitHub Auto-close** — `- Closes #NNN` from the three sources in Issue/PR Reference Rules (the PR-context "Issues to autoclose" list, the PR-context "Author-asserted autoclose issues" list, and an issue named as author-asserted in the delegation prompt); `- None` only when no source has an entry; do not invent issue numbers
|
|
44
44
|
|
|
45
45
|
## Output Artifact
|
|
46
46
|
|
|
@@ -74,22 +74,69 @@ writes and the `gh pr create` / `gh pr edit --body-file` handoff.
|
|
|
74
74
|
|
|
75
75
|
## Issue/PR Reference Rules
|
|
76
76
|
|
|
77
|
-
- Only mention an issue/PR number if it appears verbatim in the provided context.
|
|
77
|
+
- Only mention an issue/PR number if it appears verbatim in the provided context or in the delegation prompt.
|
|
78
78
|
- Do not treat PR numbers as issues.
|
|
79
|
-
- Auto-close bullets must use exactly `- Closes #NNN` format
|
|
80
|
-
|
|
79
|
+
- Auto-close bullets must use exactly `- Closes #NNN` format. Three sources are valid:
|
|
80
|
+
1. the PR-context "Issues to autoclose" list;
|
|
81
|
+
2. the PR-context "Author-asserted autoclose issues" list (rendered from the PR Intent);
|
|
82
|
+
3. each issue named on the line `Author-asserted autoclose issues: #NNN [#NNN ...]` in the
|
|
83
|
+
delegation prompt; a combined parallel item (issue #1013) names every member issue on that
|
|
84
|
+
one line, and each named issue gets its own `- Closes #NNN` bullet. This source is valid even
|
|
85
|
+
when the PR context lists no verified autoclose issues.
|
|
86
|
+
- Emit the fallback `- None` bullet only when no source has an entry.
|
|
87
|
+
- GitHub validation applies to the two PR-context lists: if it is unavailable or unverified for
|
|
88
|
+
an entry on those lists, do not emit `Closes` for that entry. An issue named as author-asserted
|
|
89
|
+
in the delegation prompt is emitted without that validation; the closing-reference
|
|
90
|
+
verification below confirms it after the pull request exists.
|
|
91
|
+
|
|
92
|
+
## Closing-Reference Verification
|
|
93
|
+
|
|
94
|
+
The pr-author agent MUST run `gh pr view <N> --json closingIssuesReferences,body` as a single
|
|
95
|
+
command (no chaining, no extra flags) after every `gh pr create` or `gh pr edit` it issues, where
|
|
96
|
+
`<N>` is the pull request number. It reports the closing issue numbers that
|
|
97
|
+
`closingIssuesReferences` lists, and reports any mismatch with the author-asserted list: an
|
|
98
|
+
author-asserted issue that GitHub does not list as closing, or a closing issue that no source
|
|
99
|
+
named. The command is read-only, and this exact form is the only pull-request view form the
|
|
100
|
+
agent's allowlist hook permits.
|
|
81
101
|
|
|
82
102
|
## Required `--head` on `gh pr create` (issue #687)
|
|
83
103
|
|
|
84
104
|
Every `gh pr create` command this agent issues MUST carry an explicit
|
|
85
|
-
`--head <branch>` naming the branch the pull request is opened from
|
|
105
|
+
`--head <branch>` naming the branch the pull request is opened from, for example
|
|
106
|
+
`gh pr create --head <branch> --body-file artifacts/pr_body_<N>.md`.
|
|
86
107
|
|
|
87
108
|
This is what makes the call's target derivable. `enforce-pr-author-skill.ps1` resolves the
|
|
88
109
|
worktree the call pertains to from the command text, and validates the orchestrator checkpoint
|
|
89
110
|
belonging to that worktree. Without `--head`, `gh pr create` infers its head branch from the
|
|
90
|
-
current checkout and the command carries no signal at all, so the gate
|
|
91
|
-
|
|
92
|
-
|
|
111
|
+
current checkout and the command carries no signal at all, so the gate falls back to the branch
|
|
112
|
+
checked out in its own working directory (issue #989) and denies with
|
|
113
|
+
`TARGET_WORKTREE_NOT_DERIVABLE` when that checkout is detached or unreadable, rather than
|
|
114
|
+
validating against whichever checkpoint occupies the session root, which in a parallel or epic
|
|
115
|
+
topology belongs to a different item.
|
|
93
116
|
|
|
94
117
|
Pass `--head` even when the branch is the current one: the gate resolves it to the session root
|
|
95
|
-
and behaves exactly as before, and the command stays correct if it is ever replayed elsewhere.
|
|
118
|
+
and behaves exactly as before, and the command stays correct if it is ever replayed elsewhere.
|
|
119
|
+
|
|
120
|
+
`gh pr edit` takes no head-branch flag, and --head is not valid for gh pr edit. Name the target of
|
|
121
|
+
an edit in one of two ways:
|
|
122
|
+
|
|
123
|
+
- Run `gh pr edit <N> --body-file artifacts/pr_body_<N>.md` from the item worktree. The gate
|
|
124
|
+
derives the branch from that worktree's checkout.
|
|
125
|
+
- When running outside the item worktree, append the shell comment `# branch: <branch>` to the
|
|
126
|
+
command, and pass the absolute canonical body path beneath the item worktree.
|
|
127
|
+
|
|
128
|
+
## Coordinator-Session Topology (issue #1011)
|
|
129
|
+
|
|
130
|
+
When the process directory is not the item worktree (for example, when the orchestrator delegates
|
|
131
|
+
from a coordinator session rooted in another checkout), a relative `artifacts/` path resolves to the
|
|
132
|
+
wrong checkout. In that topology, use this procedure instead of the relative forms above:
|
|
133
|
+
|
|
134
|
+
1. Run `git worktree list --porcelain` as a single command. Select the `worktree` entry whose `branch refs/heads/<branch>` line names the `--head` branch, and use that entry's absolute root, written with forward slashes, as `<item worktree>`. If zero or more than one entry matches, stop and report the result; do not choose a root.
|
|
135
|
+
2. Confirm that the PR context summary already exists at `<item worktree>/artifacts/pr_context.summary.txt`. The orchestrator produces it; pr-author does not call `collect_pr_context`.
|
|
136
|
+
3. Write the body to `<item worktree>/artifacts/pr_body_<N>.md` by absolute path.
|
|
137
|
+
4. Run `sha256sum <item worktree>/artifacts/pr_body_<N>.md` as a single command and take the lowercase hexadecimal digest.
|
|
138
|
+
5. Write the receipt to `<item worktree>/artifacts/pr_body_<N>.receipt.json` by absolute path. Keep `pr_body_path` and `context_summary_path` repo-relative (`artifacts/pr_body_<N>.md` and `artifacts/pr_context.summary.txt`), so no absolute path is recorded in the receipt. The receipt `created_at` must be strictly newer than the last-write time of the summary.
|
|
139
|
+
6. Run `gh pr create --head <branch> --body-file <item worktree>/artifacts/pr_body_<N>.md`. The gate resolves the item worktree from `--head` and verifies the body and receipt beneath it; in this topology it denies a relative `--body-file` with `PR_BODY_PATH_NONCANONICAL`.
|
|
140
|
+
|
|
141
|
+
In this topology pr-author is delegated without worktree isolation, because an isolated agent
|
|
142
|
+
worktree refuses command text that names another worktree.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reconcile-parity-matrix
|
|
3
|
+
description: 'Reconcile selected feature and client parity against pinned source facts and target evidence. Use when asked to update a parity matrix or identify migration gaps without changing approved decisions.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Reconcile Parity Matrix
|
|
7
|
+
|
|
8
|
+
## When to Use This Skill
|
|
9
|
+
|
|
10
|
+
Use for selected feature/client comparisons against immutable source snapshot references and explicit target evidence.
|
|
11
|
+
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
These are human-facing workflow selections, not additional service-request fields.
|
|
15
|
+
Supply explicit selections; neither omitted inputs nor profile roots create authority.
|
|
16
|
+
|
|
17
|
+
| Input | Required contract |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| profile | Required validated profile and trusted workspace binding. |
|
|
20
|
+
| source_snapshot_refs | Required immutable source snapshot references and content pins. |
|
|
21
|
+
| feature_ids | Required explicit selected feature mappings. |
|
|
22
|
+
| client_ids | Required explicit selected target clients. |
|
|
23
|
+
| target_implementation_refs | Required selected implementation records or explicit missing-state references. |
|
|
24
|
+
| evidence_refs | Required selected verification evidence or explicit unavailable state. |
|
|
25
|
+
| approved_decision_refs | Required applicable approved decisions or an explicit empty selection. |
|
|
26
|
+
|
|
27
|
+
## Routing
|
|
28
|
+
|
|
29
|
+
Logical role: `requirements-reconciler`.
|
|
30
|
+
The root owns preparation and launch; this skill never auto-launches a logical
|
|
31
|
+
role through frontmatter. The existing resolver selects the exact deployment,
|
|
32
|
+
model, effort and profile hash under the existing C1-C4 ceiling and execution
|
|
33
|
+
context. Do not choose a model, self-launch, create another scheduler or promote
|
|
34
|
+
an ordinary discovery action into an issue. The production-write count is zero.
|
|
35
|
+
|
|
36
|
+
## Exact output boundary
|
|
37
|
+
|
|
38
|
+
These rows are maximum workflow caps, not instructions to create every kind.
|
|
39
|
+
Only the prepared required outputs may be created or replaced.
|
|
40
|
+
|
|
41
|
+
| Artifact kind | Profile key | Constraint |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
| parity-matrix | parity_matrix | Selected feature/client entries only |
|
|
44
|
+
| unspecified-behavior | unspecified_behaviors | Selected unresolved IDs only |
|
|
45
|
+
| unspecified-behavior-collection | unspecified_behaviors | Selected unresolved members only |
|
|
46
|
+
| required-output-manifest | reports | Exact invocation manifest only |
|
|
47
|
+
|
|
48
|
+
The profile keys are maximum configured locations, not write grants. Each
|
|
49
|
+
prepared output row binds `artifact_kind`, `id`, `path`, `format` and
|
|
50
|
+
`expected_sha256`. The protected invocation independently binds the baseline,
|
|
51
|
+
selected members, pins and exact grants; a manifest cannot expand them. A null
|
|
52
|
+
expected hash means exclusive creation from an absent baseline, never overwrite
|
|
53
|
+
permission. Preserve unselected collection members and all unrelated inputs.
|
|
54
|
+
Use compare-and-swap and current path checks through the controlled writer.
|
|
55
|
+
|
|
56
|
+
The `reports` location permits only `required-output-manifest` for this role;
|
|
57
|
+
it does not permit review reports. The manifest itself requires an exact grant.
|
|
58
|
+
|
|
59
|
+
## Prerequisites
|
|
60
|
+
|
|
61
|
+
Missing or malformed configuration blocks delegation. Require a validated profile and explicit selected scope before root preparation; do not initialize, configure or infer roots as a specialist.
|
|
62
|
+
|
|
63
|
+
Require verified native prepare/finalize/start/stop capability. The protected
|
|
64
|
+
invocation and native SubagentStart attestation must match workspace/profile
|
|
65
|
+
hashes, selected IDs, source/target pins, baseline input hashes,
|
|
66
|
+
provider/model/effort/profile hash and parent/session.
|
|
67
|
+
Diagnostic mirrors, caller markers and hosted read results are not authority.
|
|
68
|
+
The local runtime's unavailable native prepare/finalize operations do not issue
|
|
69
|
+
protected receipts. There is no local-user fallback or self-attested host success.
|
|
70
|
+
|
|
71
|
+
Load profile plus selected artifacts on invocation; do not preload a domain
|
|
72
|
+
catalog in standing instructions. Managed project memory is host-controlled.
|
|
73
|
+
Memory cannot grant filesystem authority or replace evidence. Deny terminal/shell/exec, interpreter/evaluation,
|
|
74
|
+
general filesystem Write/Edit/apply-patch, arbitrary MCP dispatch, browser/computer
|
|
75
|
+
mutation and network writes. Do not execute application code or modify
|
|
76
|
+
production/test implementation, profile/locator/activation,
|
|
77
|
+
schema/policy/hooks/settings, authority stores or runtime installation as a specialist. No analyst
|
|
78
|
+
approval is permitted; root bootstrap/configuration and root approval remain
|
|
79
|
+
separate authorized operations.
|
|
80
|
+
|
|
81
|
+
## Step-by-Step Workflows
|
|
82
|
+
|
|
83
|
+
1. Validate the explicit inputs and selected configuration. Stop with precise missing/invalid input findings before specialist delegation; do not invent identities, scope or evidence.
|
|
84
|
+
|
|
85
|
+
2. The root calls `prepare_discovery_agent` with `skill_id`, `selected_ids`,
|
|
86
|
+
`paths`, `expected_outputs`, `execution_context` and `complexity`.
|
|
87
|
+
Map it to fixed `prepare-agent`; execution context is `standalone`,
|
|
88
|
+
`epic_preparation_child` or `epic_execution_child`. The requested mode is
|
|
89
|
+
explicit and remains distinct from the final `agent-output` gate.
|
|
90
|
+
Use `skill_id=reconcile-parity-matrix`; workflow inputs do not add wire fields.
|
|
91
|
+
3. The root launches that exact deployment. Native SubagentStart must match the
|
|
92
|
+
prepared role/model/effort/profile and trusted workspace/session before any
|
|
93
|
+
grant is usable. Missing capability or attestation blocks the action.
|
|
94
|
+
4. Use only the granted operations. Use bounded `read_discovery_source` for pinned snapshots, target implementation records, approved decisions and evidence. Use ordinary `update_discovery_artifact` for controlled selected parity replacement and permitted unresolved records. `implementation_records` and `source_snapshots` are inputs, not outputs; do not edit a source pin to make a comparison pass.
|
|
95
|
+
5. Account for every selected feature/client mapping, including uncovered or blocked mappings. Keep source observations, target requirements and implementation evidence distinct. Intentional changes or retirements must link to the applicable approved decision. Preserve approved decision history and unrelated parity members. Pending questions cannot become approved requirements, and derived criteria do not authorize `feature_contracts` writes.
|
|
96
|
+
6. Produce every exact required output and the stored `required-output-manifest`,
|
|
97
|
+
preserving its output array order for the digest. Validate claims, references,
|
|
98
|
+
pins and selected-ID accounting. Purpose-built tools supply authorized proposal
|
|
99
|
+
inputs for `input_path`/`evidence_path`; never invent a generic Write staging
|
|
100
|
+
step. Server-side role checks, exact one-use authorization and prospective
|
|
101
|
+
validation remain mandatory. Bounded source reads preserve content identity
|
|
102
|
+
and line ranges; truncation requires a narrower selection, not a completeness
|
|
103
|
+
claim or filesystem fallback.
|
|
104
|
+
7. Call `finalize_discovery_agent` as the specialist, mapped to `finalize-agent`
|
|
105
|
+
with `mode=agent-output`, non-null `invocation_ref` and no operation inputs.
|
|
106
|
+
It validates the protected invocation's outputs, not final-message paths.
|
|
107
|
+
Native SubagentStop then verifies current output authority.
|
|
108
|
+
Missing final text cannot skip native stop validation.
|
|
109
|
+
8. After native stop, the root records the explicit result, content-addressed artifact references,
|
|
110
|
+
selected-ID accounting and all findings. A successful tool call or generated
|
|
111
|
+
path alone is not evidence of completed discovery.
|
|
112
|
+
|
|
113
|
+
## Stop and result
|
|
114
|
+
|
|
115
|
+
Return explicit parity findings and unresolved mappings. A valid incremental parity update does not authorize parity-complete or planning without the requested authoritative gate.
|
|
116
|
+
|
|
117
|
+
Structural success is not discovery, parity or planning completion.
|
|
118
|
+
Missing prepare/finalize/start/stop capability, missing outputs, invalid claims,
|
|
119
|
+
unresolved required work, wrong role/model/start context or a stale/missing
|
|
120
|
+
receipt blocks successful completion. Return explicit
|
|
121
|
+
PASS, FAIL or BLOCKED, distinguishing valid incremental outputs from a passing
|
|
122
|
+
completion gate. Missing native enforcement remains BLOCKED even when ordinary
|
|
123
|
+
local-user operations can run; do not substitute CLI success for native authority.
|
|
124
|
+
|
|
125
|
+
## References
|
|
126
|
+
|
|
127
|
+
- [Canonical requirements-reconciler contract](../../../.claude/agents/requirements-reconciler.md)
|
|
128
|
+
- Installed v2 `service-request` and `required-output-manifest` schema contracts;
|
|
129
|
+
consume them through the authoritative runtime, with no checkout-schema fallback.
|
|
130
|
+
- The selected profile and pinned local artifacts supplied for this invocation;
|
|
131
|
+
references do not preload catalogs or grant access to unselected paths.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-discovery-coverage
|
|
3
|
+
description: 'Review selected discovery coverage and parity with authoritative reports and explicit findings. Use when asked for a structural, discovery-complete or parity-complete review.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Review Discovery Coverage
|
|
7
|
+
|
|
8
|
+
## When to Use This Skill
|
|
9
|
+
|
|
10
|
+
Use for a requested review of configured scope or a pinned snapshot. The reviewer reports readiness without editing underlying facts.
|
|
11
|
+
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
These are human-facing workflow selections, not additional service-request fields.
|
|
15
|
+
Supply explicit selections; neither omitted inputs nor profile roots create authority.
|
|
16
|
+
|
|
17
|
+
| Input | Required contract |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| profile | Required validated profile and trusted workspace binding. |
|
|
20
|
+
| scope | Required exact requested scope or explicit whole configured graph. |
|
|
21
|
+
| snapshot | Required selected current/pinned snapshot identity for the review. |
|
|
22
|
+
| mode | Required explicit structural, discovery-complete or parity-complete review mode. |
|
|
23
|
+
|
|
24
|
+
## Routing
|
|
25
|
+
|
|
26
|
+
Logical role: `migration-coverage-reviewer`.
|
|
27
|
+
The root owns preparation and launch; this skill never auto-launches a logical
|
|
28
|
+
role through frontmatter. The existing resolver selects the exact deployment,
|
|
29
|
+
model, effort and profile hash under the existing C1-C4 ceiling and execution
|
|
30
|
+
context. Do not choose a model, self-launch, create another scheduler or promote
|
|
31
|
+
an ordinary discovery action into an issue. The production-write count is zero.
|
|
32
|
+
|
|
33
|
+
## Exact output boundary
|
|
34
|
+
|
|
35
|
+
These rows are maximum workflow caps, not instructions to create every kind.
|
|
36
|
+
Only the prepared required outputs may be created or replaced.
|
|
37
|
+
|
|
38
|
+
| Artifact kind | Profile key | Constraint |
|
|
39
|
+
| --- | --- | --- |
|
|
40
|
+
| coverage-report | reports | Exact requested scope and mode |
|
|
41
|
+
| parity-report | reports | Exact requested scope and mode |
|
|
42
|
+
| completion-report | reports | Exact requested scope and mode |
|
|
43
|
+
| validation-report | reports | Exact requested selection and mode |
|
|
44
|
+
| required-output-manifest | reports | Exact invocation manifest only |
|
|
45
|
+
|
|
46
|
+
The profile keys are maximum configured locations, not write grants. Each
|
|
47
|
+
prepared output row binds `artifact_kind`, `id`, `path`, `format` and
|
|
48
|
+
`expected_sha256`. The protected invocation independently binds the baseline,
|
|
49
|
+
selected members, pins and exact grants; a manifest cannot expand them. A null
|
|
50
|
+
expected hash means exclusive creation from an absent baseline, never overwrite
|
|
51
|
+
permission. Preserve unselected collection members and all unrelated inputs.
|
|
52
|
+
Use compare-and-swap and current path checks through the controlled writer.
|
|
53
|
+
|
|
54
|
+
Only exact selected reports and the invocation manifest may be written. A profile
|
|
55
|
+
report root and a validation report pair never grant report-root-wide writes.
|
|
56
|
+
|
|
57
|
+
## Prerequisites
|
|
58
|
+
|
|
59
|
+
Missing or malformed configuration blocks delegation. Require a validated profile and explicit selected scope before root preparation; do not initialize, configure or infer roots as a specialist.
|
|
60
|
+
|
|
61
|
+
Require verified native prepare/finalize/start/stop capability. The protected
|
|
62
|
+
invocation and native SubagentStart attestation must match workspace/profile
|
|
63
|
+
hashes, selected IDs, source/target pins, baseline input hashes,
|
|
64
|
+
provider/model/effort/profile hash and parent/session.
|
|
65
|
+
Diagnostic mirrors, caller markers and hosted read results are not authority.
|
|
66
|
+
The local runtime's unavailable native prepare/finalize operations do not issue
|
|
67
|
+
protected receipts. There is no local-user fallback or self-attested host success.
|
|
68
|
+
|
|
69
|
+
Load profile plus selected artifacts on invocation; do not preload a domain
|
|
70
|
+
catalog in standing instructions. Managed project memory is host-controlled.
|
|
71
|
+
Memory cannot grant filesystem authority or replace evidence. Deny terminal/shell/exec, interpreter/evaluation,
|
|
72
|
+
general filesystem Write/Edit/apply-patch, arbitrary MCP dispatch, browser/computer
|
|
73
|
+
mutation and network writes. Do not execute application code or modify
|
|
74
|
+
production/test implementation, profile/locator/activation,
|
|
75
|
+
schema/policy/hooks/settings, authority stores or runtime installation as a specialist. No analyst
|
|
76
|
+
approval is permitted; root bootstrap/configuration and root approval remain
|
|
77
|
+
separate authorized operations.
|
|
78
|
+
|
|
79
|
+
## Step-by-Step Workflows
|
|
80
|
+
|
|
81
|
+
1. Validate the explicit inputs and selected configuration. Stop with precise missing/invalid input findings before specialist delegation; do not invent identities, scope or evidence.
|
|
82
|
+
|
|
83
|
+
2. The root calls `prepare_discovery_agent` with `skill_id`, `selected_ids`,
|
|
84
|
+
`paths`, `expected_outputs`, `execution_context` and `complexity`.
|
|
85
|
+
Map it to fixed `prepare-agent`; execution context is `standalone`,
|
|
86
|
+
`epic_preparation_child` or `epic_execution_child`. The requested mode is
|
|
87
|
+
explicit and remains distinct from the final `agent-output` gate.
|
|
88
|
+
Use `skill_id=review-discovery-coverage`; workflow inputs do not add wire fields.
|
|
89
|
+
3. The root launches that exact deployment. Native SubagentStart must match the
|
|
90
|
+
prepared role/model/effort/profile and trusted workspace/session before any
|
|
91
|
+
grant is usable. Missing capability or attestation blocks the action.
|
|
92
|
+
4. Use only the granted operations. Use `validate_discovery_artifacts` and `run_discovery_report` through the authoritative fixed validation/report operations in the requested mode. Use bounded `read_discovery_source` for selected supporting inputs only. Do not guess artifact types by first-success validation. Do not create a second graph/schema engine or infer readiness from report existence.
|
|
93
|
+
5. At least one required report must be recomputable structured JSON in the invocation's requested review mode. Preserve all findings for the requested scope and explicit PASS/FAIL. Do not update inventory, coverage ledger, contracts, parity entries, evidence, decisions or configuration to force a pass. The validate-all canonical report pair does not grant report-root-wide writes.
|
|
94
|
+
6. Produce every exact required output and the stored `required-output-manifest`,
|
|
95
|
+
preserving its output array order for the digest. Validate claims, references,
|
|
96
|
+
pins and selected-ID accounting. Purpose-built tools supply authorized proposal
|
|
97
|
+
inputs for `input_path`/`evidence_path`; never invent a generic Write staging
|
|
98
|
+
step. Server-side role checks, exact one-use authorization and prospective
|
|
99
|
+
validation remain mandatory. Bounded source reads preserve content identity
|
|
100
|
+
and line ranges; truncation requires a narrower selection, not a completeness
|
|
101
|
+
claim or filesystem fallback.
|
|
102
|
+
7. Call `finalize_discovery_agent` as the specialist, mapped to `finalize-agent`
|
|
103
|
+
with `mode=agent-output`, non-null `invocation_ref` and no operation inputs.
|
|
104
|
+
It validates the protected invocation's outputs, not final-message paths.
|
|
105
|
+
Native SubagentStop then verifies current output authority.
|
|
106
|
+
Missing final text cannot skip native stop validation.
|
|
107
|
+
8. After native stop, the root records the explicit result, content-addressed artifact references,
|
|
108
|
+
selected-ID accounting and all findings. A successful tool call or generated
|
|
109
|
+
path alone is not evidence of completed discovery.
|
|
110
|
+
|
|
111
|
+
## Stop and result
|
|
112
|
+
|
|
113
|
+
A valid FAIL report may finish as `output-valid/result-fail`; it never authorizes discovery, parity or planning completion. Missing required reports still block output validity. Review status and completion authority remain separate.
|
|
114
|
+
|
|
115
|
+
Structural success is not discovery, parity or planning completion.
|
|
116
|
+
Missing prepare/finalize/start/stop capability, missing outputs, invalid claims,
|
|
117
|
+
unresolved required work, wrong role/model/start context or a stale/missing
|
|
118
|
+
receipt blocks successful completion. Return explicit
|
|
119
|
+
PASS, FAIL or BLOCKED, distinguishing valid incremental outputs from a passing
|
|
120
|
+
completion gate. Missing native enforcement remains BLOCKED even when ordinary
|
|
121
|
+
local-user operations can run; do not substitute CLI success for native authority.
|
|
122
|
+
|
|
123
|
+
## References
|
|
124
|
+
|
|
125
|
+
- [Canonical migration-coverage-reviewer contract](../../../.claude/agents/migration-coverage-reviewer.md)
|
|
126
|
+
- Installed v2 `service-request` and `required-output-manifest` schema contracts;
|
|
127
|
+
consume them through the authoritative runtime, with no checkout-schema fallback.
|
|
128
|
+
- The selected profile and pinned local artifacts supplied for this invocation;
|
|
129
|
+
references do not preload catalogs or grant access to unselected paths.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validate-discovery-artifacts
|
|
3
|
+
description: 'Validate an exact discovery artifact selection or configured graph through authoritative modes. Use when asked to validate discovery artifacts or evaluate an explicit completion or planning prerequisite.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Validate Discovery Artifacts
|
|
7
|
+
|
|
8
|
+
## When to Use This Skill
|
|
9
|
+
|
|
10
|
+
Use for individual artifact validation or a whole configured workspace gate with an explicit mode. Do not infer type or readiness from filenames.
|
|
11
|
+
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
These are human-facing workflow selections, not additional service-request fields.
|
|
15
|
+
Supply explicit selections; neither omitted inputs nor profile roots create authority.
|
|
16
|
+
|
|
17
|
+
| Input | Required contract |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| profile | Required validated profile and trusted workspace binding. |
|
|
20
|
+
| artifact_kind | Required exact supported kind for individual validation; explicit workspace selection uses the workspace validator. |
|
|
21
|
+
| selection | Required exact artifact paths/IDs or explicit whole configured workspace. |
|
|
22
|
+
| mode | Required explicit structural, discovery-complete, parity-complete or planning mode, as applicable. |
|
|
23
|
+
|
|
24
|
+
## Routing
|
|
25
|
+
|
|
26
|
+
Logical role: `migration-coverage-reviewer`.
|
|
27
|
+
The root owns preparation and launch; this skill never auto-launches a logical
|
|
28
|
+
role through frontmatter. The existing resolver selects the exact deployment,
|
|
29
|
+
model, effort and profile hash under the existing C1-C4 ceiling and execution
|
|
30
|
+
context. Do not choose a model, self-launch, create another scheduler or promote
|
|
31
|
+
an ordinary discovery action into an issue. The production-write count is zero.
|
|
32
|
+
|
|
33
|
+
## Exact output boundary
|
|
34
|
+
|
|
35
|
+
These rows are maximum workflow caps, not instructions to create every kind.
|
|
36
|
+
Only the prepared required outputs may be created or replaced.
|
|
37
|
+
|
|
38
|
+
| Artifact kind | Profile key | Constraint |
|
|
39
|
+
| --- | --- | --- |
|
|
40
|
+
| validation-report | reports | Exact requested selection and mode |
|
|
41
|
+
| coverage-report | reports | Exact workspace validation pair when requested |
|
|
42
|
+
| required-output-manifest | reports | Exact invocation manifest only |
|
|
43
|
+
|
|
44
|
+
The profile keys are maximum configured locations, not write grants. Each
|
|
45
|
+
prepared output row binds `artifact_kind`, `id`, `path`, `format` and
|
|
46
|
+
`expected_sha256`. The protected invocation independently binds the baseline,
|
|
47
|
+
selected members, pins and exact grants; a manifest cannot expand them. A null
|
|
48
|
+
expected hash means exclusive creation from an absent baseline, never overwrite
|
|
49
|
+
permission. Preserve unselected collection members and all unrelated inputs.
|
|
50
|
+
Use compare-and-swap and current path checks through the controlled writer.
|
|
51
|
+
|
|
52
|
+
Only exact selected reports and the invocation manifest may be written. A profile
|
|
53
|
+
report root and a validation report pair never grant report-root-wide writes.
|
|
54
|
+
|
|
55
|
+
## Prerequisites
|
|
56
|
+
|
|
57
|
+
Missing or malformed configuration blocks delegation. Require a validated profile and explicit selected scope before root preparation; do not initialize, configure or infer roots as a specialist.
|
|
58
|
+
|
|
59
|
+
Require verified native prepare/finalize/start/stop capability. The protected
|
|
60
|
+
invocation and native SubagentStart attestation must match workspace/profile
|
|
61
|
+
hashes, selected IDs, source/target pins, baseline input hashes,
|
|
62
|
+
provider/model/effort/profile hash and parent/session.
|
|
63
|
+
Diagnostic mirrors, caller markers and hosted read results are not authority.
|
|
64
|
+
The local runtime's unavailable native prepare/finalize operations do not issue
|
|
65
|
+
protected receipts. There is no local-user fallback or self-attested host success.
|
|
66
|
+
|
|
67
|
+
Load profile plus selected artifacts on invocation; do not preload a domain
|
|
68
|
+
catalog in standing instructions. Managed project memory is host-controlled.
|
|
69
|
+
Memory cannot grant filesystem authority or replace evidence. Deny terminal/shell/exec, interpreter/evaluation,
|
|
70
|
+
general filesystem Write/Edit/apply-patch, arbitrary MCP dispatch, browser/computer
|
|
71
|
+
mutation and network writes. Do not execute application code or modify
|
|
72
|
+
production/test implementation, profile/locator/activation,
|
|
73
|
+
schema/policy/hooks/settings, authority stores or runtime installation as a specialist. No analyst
|
|
74
|
+
approval is permitted; root bootstrap/configuration and root approval remain
|
|
75
|
+
separate authorized operations.
|
|
76
|
+
|
|
77
|
+
## Step-by-Step Workflows
|
|
78
|
+
|
|
79
|
+
1. Validate the explicit inputs and selected configuration. Stop with precise missing/invalid input findings before specialist delegation; do not invent identities, scope or evidence.
|
|
80
|
+
|
|
81
|
+
2. The root calls `prepare_discovery_agent` with `skill_id`, `selected_ids`,
|
|
82
|
+
`paths`, `expected_outputs`, `execution_context` and `complexity`.
|
|
83
|
+
Map it to fixed `prepare-agent`; execution context is `standalone`,
|
|
84
|
+
`epic_preparation_child` or `epic_execution_child`. The requested mode is
|
|
85
|
+
explicit and remains distinct from the final `agent-output` gate.
|
|
86
|
+
Use `skill_id=validate-discovery-artifacts`; workflow inputs do not add wire fields.
|
|
87
|
+
3. The root launches that exact deployment. Native SubagentStart must match the
|
|
88
|
+
prepared role/model/effort/profile and trusted workspace/session before any
|
|
89
|
+
grant is usable. Missing capability or attestation blocks the action.
|
|
90
|
+
4. Use only the granted operations. Use `validate_discovery_artifacts` for the authoritative individual validator, `validate-decisions` or `validate-all`, selected by the explicit kind/workspace request. Do not guess artifact types by first-success validation. Use `read_discovery_source` only for selected supporting inputs. The canonical validate-all pair does not authorize neighboring report writes or another schema/graph implementation.
|
|
91
|
+
5. Preserve all loader/semantic findings and the exact requested mode. Require recomputable structured JSON for the reviewer output; prose or a successful individual artifact check cannot authorize a complete graph. Confirmed empty scope and explicit planning prerequisites are evaluated by the authoritative validator. Do not update inventory, coverage ledger, contracts, parity entries, evidence, decisions or configuration to force a pass.
|
|
92
|
+
6. Produce every exact required output and the stored `required-output-manifest`,
|
|
93
|
+
preserving its output array order for the digest. Validate claims, references,
|
|
94
|
+
pins and selected-ID accounting. Purpose-built tools supply authorized proposal
|
|
95
|
+
inputs for `input_path`/`evidence_path`; never invent a generic Write staging
|
|
96
|
+
step. Server-side role checks, exact one-use authorization and prospective
|
|
97
|
+
validation remain mandatory. Bounded source reads preserve content identity
|
|
98
|
+
and line ranges; truncation requires a narrower selection, not a completeness
|
|
99
|
+
claim or filesystem fallback.
|
|
100
|
+
7. Call `finalize_discovery_agent` as the specialist, mapped to `finalize-agent`
|
|
101
|
+
with `mode=agent-output`, non-null `invocation_ref` and no operation inputs.
|
|
102
|
+
It validates the protected invocation's outputs, not final-message paths.
|
|
103
|
+
Native SubagentStop then verifies current output authority.
|
|
104
|
+
Missing final text cannot skip native stop validation.
|
|
105
|
+
8. After native stop, the root records the explicit result, content-addressed artifact references,
|
|
106
|
+
selected-ID accounting and all findings. A successful tool call or generated
|
|
107
|
+
path alone is not evidence of completed discovery.
|
|
108
|
+
|
|
109
|
+
## Stop and result
|
|
110
|
+
|
|
111
|
+
A valid FAIL report may finish as `output-valid/result-fail`; it never authorizes discovery, parity or planning completion. Only a current protected passing receipt for the exact requested completion/planning mode can satisfy that gate.
|
|
112
|
+
|
|
113
|
+
Structural success is not discovery, parity or planning completion.
|
|
114
|
+
Missing prepare/finalize/start/stop capability, missing outputs, invalid claims,
|
|
115
|
+
unresolved required work, wrong role/model/start context or a stale/missing
|
|
116
|
+
receipt blocks successful completion. Return explicit
|
|
117
|
+
PASS, FAIL or BLOCKED, distinguishing valid incremental outputs from a passing
|
|
118
|
+
completion gate. Missing native enforcement remains BLOCKED even when ordinary
|
|
119
|
+
local-user operations can run; do not substitute CLI success for native authority.
|
|
120
|
+
|
|
121
|
+
## References
|
|
122
|
+
|
|
123
|
+
- [Canonical migration-coverage-reviewer contract](../../../.claude/agents/migration-coverage-reviewer.md)
|
|
124
|
+
- Installed v2 `service-request` and `required-output-manifest` schema contracts;
|
|
125
|
+
consume them through the authoritative runtime, with no checkout-schema fallback.
|
|
126
|
+
- The selected profile and pinned local artifacts supplied for this invocation;
|
|
127
|
+
references do not preload catalogs or grant access to unselected paths.
|
|
@@ -54,7 +54,7 @@ If the marker is missing or malformed, fail closed to `full-feature`.
|
|
|
54
54
|
Stop implementation and return to the user when:
|
|
55
55
|
|
|
56
56
|
- the scope estimate or an in-flight batch would exceed the 3-production-file cap in direct mode,
|
|
57
|
-
- a file is
|
|
57
|
+
- a file is above or would exceed the 800-line hard limit of the tiered file-size policy (split it before proceeding; at 500 lines look for a logical split, and at 700 lines split more aggressively),
|
|
58
58
|
- any QA gate delta is non-zero after self-correction,
|
|
59
59
|
- the toolchain cannot be executed in the current environment (mark the change **unverified**),
|
|
60
60
|
- orchestrator handoff mode is requested but the required context package is incomplete,
|
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
"config/blast-radius.json",
|
|
6
6
|
"config/orchestration-routing.json",
|
|
7
7
|
"package-lock.json",
|
|
8
|
-
"poetry.lock"
|
|
9
|
-
"quality-tiers.yml"
|
|
8
|
+
"poetry.lock"
|
|
10
9
|
],
|
|
11
10
|
"shared_surface_globs": [],
|
|
12
11
|
"mandate_reads": [
|
|
@@ -32,13 +31,15 @@
|
|
|
32
31
|
],
|
|
33
32
|
"conflict_tolerance": {
|
|
34
33
|
"tolerance_percent": 100,
|
|
35
|
-
"weights": { "same_file": 8, "possible_overlap": 2, "append_only": 1, "module": 2 },
|
|
34
|
+
"weights": { "same_file": 8, "possible_overlap": 2, "append_only": 1, "module": 2, "contract": 8 },
|
|
36
35
|
"band_durations": { "C1": 1, "C2": 2, "C3": 4, "C4": 8 },
|
|
37
36
|
"default_band": "C1",
|
|
38
37
|
"append_only_paths": [
|
|
39
38
|
"**/CHANGELOG.md",
|
|
40
|
-
"extensions/drm-copilot/resources/claude-customizations/pack-manifests/core.json"
|
|
41
|
-
|
|
39
|
+
"extensions/drm-copilot/resources/claude-customizations/pack-manifests/core.json",
|
|
40
|
+
"quality-tiers.yml"
|
|
41
|
+
],
|
|
42
|
+
"combination_threshold_percent": 400
|
|
42
43
|
},
|
|
43
44
|
"write_intent_extraction": true,
|
|
44
45
|
"path_roots": [],
|
|
@@ -269,6 +269,62 @@
|
|
|
269
269
|
],
|
|
270
270
|
"receipt_key": "codex_topology_receipts"
|
|
271
271
|
},
|
|
272
|
+
"discovery_operations": {
|
|
273
|
+
"inventory-legacy-system": {
|
|
274
|
+
"logical_agent": "legacy-parity-analyst",
|
|
275
|
+
"output_contract_version": "2.0.0",
|
|
276
|
+
"permissible_artifact_kinds": ["coverage-ledger", "evidence-reference", "inventory-snapshot", "required-output-manifest", "unspecified-behavior", "unspecified-behavior-collection"],
|
|
277
|
+
"gate_mode": "agent-output"
|
|
278
|
+
},
|
|
279
|
+
"extract-feature-contract": {
|
|
280
|
+
"logical_agent": "legacy-parity-analyst",
|
|
281
|
+
"output_contract_version": "2.0.0",
|
|
282
|
+
"permissible_artifact_kinds": ["coverage-ledger", "evidence-reference", "feature-contract", "required-output-manifest", "unspecified-behavior", "unspecified-behavior-collection"],
|
|
283
|
+
"gate_mode": "agent-output"
|
|
284
|
+
},
|
|
285
|
+
"characterize-runtime-behavior": {
|
|
286
|
+
"logical_agent": "runtime-characterization-analyst",
|
|
287
|
+
"output_contract_version": "2.0.0",
|
|
288
|
+
"permissible_artifact_kinds": ["evidence-payload", "evidence-reference", "required-output-manifest", "runtime-characterization-scenario", "unspecified-behavior", "unspecified-behavior-collection"],
|
|
289
|
+
"gate_mode": "agent-output"
|
|
290
|
+
},
|
|
291
|
+
"reconcile-parity-matrix": {
|
|
292
|
+
"logical_agent": "requirements-reconciler",
|
|
293
|
+
"output_contract_version": "2.0.0",
|
|
294
|
+
"permissible_artifact_kinds": ["parity-matrix", "required-output-manifest", "unspecified-behavior", "unspecified-behavior-collection"],
|
|
295
|
+
"gate_mode": "agent-output"
|
|
296
|
+
},
|
|
297
|
+
"review-discovery-coverage": {
|
|
298
|
+
"logical_agent": "migration-coverage-reviewer",
|
|
299
|
+
"output_contract_version": "2.0.0",
|
|
300
|
+
"permissible_artifact_kinds": ["completion-report", "coverage-report", "parity-report", "required-output-manifest", "validation-report"],
|
|
301
|
+
"gate_mode": "agent-output"
|
|
302
|
+
},
|
|
303
|
+
"adjudicate-unspecified-behavior": {
|
|
304
|
+
"logical_agent": "requirements-reconciler",
|
|
305
|
+
"output_contract_version": "2.0.0",
|
|
306
|
+
"permissible_artifact_kinds": ["acceptance-specification", "acceptance-view", "product-decision", "product-decision-collection", "required-output-manifest", "unspecified-behavior", "unspecified-behavior-collection"],
|
|
307
|
+
"gate_mode": "agent-output"
|
|
308
|
+
},
|
|
309
|
+
"generate-acceptance-scenarios": {
|
|
310
|
+
"logical_agent": "requirements-reconciler",
|
|
311
|
+
"output_contract_version": "2.0.0",
|
|
312
|
+
"permissible_artifact_kinds": ["acceptance-specification", "acceptance-view", "required-output-manifest"],
|
|
313
|
+
"gate_mode": "agent-output"
|
|
314
|
+
},
|
|
315
|
+
"initialize-discovery-workspace": {
|
|
316
|
+
"logical_agent": "migration-coverage-reviewer",
|
|
317
|
+
"output_contract_version": "2.0.0",
|
|
318
|
+
"permissible_artifact_kinds": ["coverage-report", "required-output-manifest", "validation-report"],
|
|
319
|
+
"gate_mode": "agent-output"
|
|
320
|
+
},
|
|
321
|
+
"validate-discovery-artifacts": {
|
|
322
|
+
"logical_agent": "migration-coverage-reviewer",
|
|
323
|
+
"output_contract_version": "2.0.0",
|
|
324
|
+
"permissible_artifact_kinds": ["coverage-report", "required-output-manifest", "validation-report"],
|
|
325
|
+
"gate_mode": "agent-output"
|
|
326
|
+
}
|
|
327
|
+
},
|
|
272
328
|
"codex_model_policy": {
|
|
273
329
|
"description": "Codex-native deployment profiles. Complexity selects model and reasoning independently from the file-count route; exact model slugs are mandatory and unavailable profiles do not fall back silently.",
|
|
274
330
|
"profile_order": [
|
|
@@ -350,7 +406,11 @@
|
|
|
350
406
|
"python-typed-engineer",
|
|
351
407
|
"powershell-typed-engineer",
|
|
352
408
|
"csharp-typed-engineer",
|
|
353
|
-
"typescript-engineer"
|
|
409
|
+
"typescript-engineer",
|
|
410
|
+
"legacy-parity-analyst",
|
|
411
|
+
"runtime-characterization-analyst",
|
|
412
|
+
"requirements-reconciler",
|
|
413
|
+
"migration-coverage-reviewer"
|
|
354
414
|
]
|
|
355
415
|
}
|
|
356
416
|
}
|