sdd-agent-platform 0.4.1 → 0.5.0
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/README.md +24 -28
- package/node_modules/@sdd-agent-platform/core/dist/ai-tools.js +84 -103
- package/node_modules/@sdd-agent-platform/core/dist/ai-tools.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/config/init-project.d.ts +10 -6
- package/node_modules/@sdd-agent-platform/core/dist/config/init-project.js +7 -8
- package/node_modules/@sdd-agent-platform/core/dist/config/init-project.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/config/project-config.d.ts +3 -1
- package/node_modules/@sdd-agent-platform/core/dist/config/project-config.js +7 -3
- package/node_modules/@sdd-agent-platform/core/dist/config/project-config.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/config/starter-documents.d.ts +0 -1
- package/node_modules/@sdd-agent-platform/core/dist/config/starter-documents.js +374 -421
- package/node_modules/@sdd-agent-platform/core/dist/config/starter-documents.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/context/build-package.d.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/context/build-package.js +7 -19
- package/node_modules/@sdd-agent-platform/core/dist/context/build-package.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/contracts.d.ts +7 -1
- package/node_modules/@sdd-agent-platform/core/dist/contracts.js +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/contracts.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/document-chain.js +2 -12
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/document-chain.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/doctor/doctor.js +1 -18
- package/node_modules/@sdd-agent-platform/core/dist/doctor/doctor.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/evidence/lookup.d.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/evidence/lookup.js +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/evidence/lookup.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime/contracts.d.ts +0 -1
- package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime/coordination.js +110 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime/coordination.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/host-invocation.js +83 -83
- package/node_modules/@sdd-agent-platform/core/dist/instructions.d.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/instructions.js +37 -80
- package/node_modules/@sdd-agent-platform/core/dist/instructions.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/ship.js +58 -68
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/ship.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle-graph/contracts.d.ts +159 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle-graph/contracts.js +7 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle-graph/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle-graph/kernel.d.ts +16 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle-graph/kernel.js +461 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle-graph/kernel.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle-graph.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle-graph.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle-graph.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/contracts.d.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/runtime.js +21 -28
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/runtime.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-registry.js +124 -40
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-registry.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/registries/command-team-runtime.d.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/registries/command-team-runtime.js +6 -13
- package/node_modules/@sdd-agent-platform/core/dist/registries/command-team-runtime.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/registries/plan-scout-domains.d.ts +13 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/plan-scout-domains.js +76 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/plan-scout-domains.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/skill-capabilities.js +7 -7
- package/node_modules/@sdd-agent-platform/core/dist/registries/skill-capabilities.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/registries/tool-capabilities.js +6 -6
- package/node_modules/@sdd-agent-platform/core/dist/registries/tool-capabilities.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/registries/workflow-gates.d.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/registries/workflow-gates.js +18 -18
- package/node_modules/@sdd-agent-platform/core/dist/registries/workflow-gates.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/risk/consumer-diagnostics.js +2 -1
- package/node_modules/@sdd-agent-platform/core/dist/risk/consumer-diagnostics.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/risk/contracts.d.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/dist/risk/kernel.js +7 -7
- package/node_modules/@sdd-agent-platform/core/dist/risk/kernel.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/risk/legacy-adapters.js +12 -27
- package/node_modules/@sdd-agent-platform/core/dist/risk/legacy-adapters.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/risk/workflow-gates.js +6 -6
- package/node_modules/@sdd-agent-platform/core/dist/risk/workflow-gates.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime-config.js +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime-config.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/router/routing.js +2 -4
- package/node_modules/@sdd-agent-platform/core/dist/router/routing.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-import.d.ts +28 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-import.js +383 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-import.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/stage-route-binding.d.ts +37 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/stage-route-binding.js +227 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/stage-route-binding.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router.d.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router.js +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/run-state/artifacts.d.ts +16 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/artifacts.js +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/artifacts.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/run-state/model.d.ts +20 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/run-state.js +7 -7
- package/node_modules/@sdd-agent-platform/core/dist/run-state/run-state.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/run-state/task-evidence.d.ts +1 -2
- package/node_modules/@sdd-agent-platform/core/dist/run-state/task-evidence.js +2 -9
- package/node_modules/@sdd-agent-platform/core/dist/run-state/task-evidence.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/run-state/timing.d.ts +8 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/timing.js +131 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/timing.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/build.js +1 -4
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/build.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/findings.js +0 -39
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/findings.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/model.d.ts +1 -17
- package/node_modules/@sdd-agent-platform/core/dist/runtime-paths.d.ts +10 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-paths.js +65 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-paths.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/runtime-projection-p0.d.ts +64 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-projection-p0.js +211 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-projection-p0.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/artifact-depth.d.ts +14 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/artifact-depth.js +179 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/artifact-depth.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-parser.d.ts +5 -1
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-parser.js +60 -22
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-parser.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-rendering.js +2 -2
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-rendering.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/spec-entry.js +40 -0
- package/node_modules/@sdd-agent-platform/core/dist/spec-entry.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/spec-manager-contracts.d.ts +12 -0
- package/node_modules/@sdd-agent-platform/core/dist/spec-manager-contracts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/spec-manager-contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-artifacts.d.ts +55 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-artifacts.js +315 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-artifacts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-collaboration-contracts.d.ts +55 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-collaboration-contracts.js +238 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-collaboration-contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-collaboration.d.ts +736 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-collaboration.js +4018 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-collaboration.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime/runtime.js +8 -1
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime/runtime.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/status/project-status.js +25 -1
- package/node_modules/@sdd-agent-platform/core/dist/status/project-status.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/storage/runtime-store.d.ts +170 -18
- package/node_modules/@sdd-agent-platform/core/dist/storage/runtime-store.js +597 -85
- package/node_modules/@sdd-agent-platform/core/dist/storage/runtime-store.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/apply.d.ts +1 -17
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/apply.js +1 -242
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/apply.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/inspect.d.ts +1 -110
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/inspect.js +1 -496
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/inspect.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/sync-back.d.ts +1 -2
- package/node_modules/@sdd-agent-platform/core/dist/sync-back.js +1 -2
- package/node_modules/@sdd-agent-platform/core/dist/sync-back.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/task-execution-contract.d.ts +167 -0
- package/node_modules/@sdd-agent-platform/core/dist/task-execution-contract.js +377 -0
- package/node_modules/@sdd-agent-platform/core/dist/task-execution-contract.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support/fixtures.js +329 -314
- package/node_modules/@sdd-agent-platform/core/dist/test-support/fixtures.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/test-support/run-state.d.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support/run-state.js +31 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support/run-state.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/truth-reconciliation.d.ts +44 -0
- package/node_modules/@sdd-agent-platform/core/dist/truth-reconciliation.js +135 -0
- package/node_modules/@sdd-agent-platform/core/dist/truth-reconciliation.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/verification/goal-verify.d.ts +0 -49
- package/node_modules/@sdd-agent-platform/core/dist/verification/goal-verify.js +1 -545
- package/node_modules/@sdd-agent-platform/core/dist/verification/goal-verify.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/verification/rendering.d.ts +5 -7
- package/node_modules/@sdd-agent-platform/core/dist/verification/rendering.js +15 -55
- package/node_modules/@sdd-agent-platform/core/dist/verification/rendering.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/verification/single-task-loop.js +1 -40
- package/node_modules/@sdd-agent-platform/core/dist/verification/single-task-loop.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/verification/task-evidence-judgment.d.ts +49 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/task-evidence-judgment.js +521 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/task-evidence-judgment.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/test-runtime.d.ts +12 -2
- package/node_modules/@sdd-agent-platform/core/dist/verification/test-runtime.js +247 -112
- package/node_modules/@sdd-agent-platform/core/dist/verification/test-runtime.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/verification/validation-cache.d.ts +26 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/validation-cache.js +73 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/validation-cache.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/verify-contract.d.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/verification/verify-contract.js +49 -72
- package/node_modules/@sdd-agent-platform/core/dist/verification/verify-contract.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/verification.d.ts +3 -3
- package/node_modules/@sdd-agent-platform/core/dist/verification.js +2 -2
- package/node_modules/@sdd-agent-platform/core/dist/verification.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/evidence-packet.js +2 -7
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/evidence-packet.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/hard-checks.js +0 -7
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/hard-checks.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/policy.js +2 -4
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/policy.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/types.d.ts +3 -5
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/latest-eligible-run.js +30 -4
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/latest-eligible-run.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/migration-recovery.d.ts +40 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/migration-recovery.js +110 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/migration-recovery.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/repair-contract.d.ts +12 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/repair-contract.js +63 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/repair-contract.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve-task-run.d.ts +21 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve-task-run.js +95 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve-task-run.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve.d.ts +55 -5
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve.js +518 -36
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve.js.map +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/runtime-projections.d.ts +228 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/runtime-projections.js +452 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/runtime-projections.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/package.json +6 -3
- package/node_modules/@sdd-agent-platform/core/src/ai-tools.test.ts +238 -137
- package/node_modules/@sdd-agent-platform/core/src/ai-tools.ts +84 -103
- package/node_modules/@sdd-agent-platform/core/src/artifacts/ingestion.test.ts +189 -189
- package/node_modules/@sdd-agent-platform/core/src/artifacts/ingestion.ts +222 -222
- package/node_modules/@sdd-agent-platform/core/src/artifacts/sdd-evidence.test.ts +28 -28
- package/node_modules/@sdd-agent-platform/core/src/artifacts/sdd-evidence.ts +302 -302
- package/node_modules/@sdd-agent-platform/core/src/artifacts/sdd-result.test.ts +181 -181
- package/node_modules/@sdd-agent-platform/core/src/artifacts/sdd-result.ts +231 -231
- package/node_modules/@sdd-agent-platform/core/src/artifacts/templates.ts +99 -99
- package/node_modules/@sdd-agent-platform/core/src/artifacts.ts +4 -4
- package/node_modules/@sdd-agent-platform/core/src/coding-facts/contracts.ts +79 -79
- package/node_modules/@sdd-agent-platform/core/src/coding-facts.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/src/config/init-project.test.ts +314 -306
- package/node_modules/@sdd-agent-platform/core/src/config/init-project.ts +128 -120
- package/node_modules/@sdd-agent-platform/core/src/config/project-config.ts +265 -259
- package/node_modules/@sdd-agent-platform/core/src/config/project-detection.ts +147 -147
- package/node_modules/@sdd-agent-platform/core/src/config/starter-documents.ts +400 -445
- package/node_modules/@sdd-agent-platform/core/src/context/budget.ts +30 -30
- package/node_modules/@sdd-agent-platform/core/src/context/build-package.ts +305 -317
- package/node_modules/@sdd-agent-platform/core/src/context/command-summary.ts +45 -45
- package/node_modules/@sdd-agent-platform/core/src/context/context-build.test.ts +188 -188
- package/node_modules/@sdd-agent-platform/core/src/context/evidence-summary.ts +144 -144
- package/node_modules/@sdd-agent-platform/core/src/context/log-worker.ts +48 -48
- package/node_modules/@sdd-agent-platform/core/src/context/source-refs.ts +41 -41
- package/node_modules/@sdd-agent-platform/core/src/context-offload/contracts.ts +47 -47
- package/node_modules/@sdd-agent-platform/core/src/context-offload/runtime.test.ts +71 -71
- package/node_modules/@sdd-agent-platform/core/src/context-offload/runtime.ts +178 -178
- package/node_modules/@sdd-agent-platform/core/src/context-offload.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/context.ts +6 -6
- package/node_modules/@sdd-agent-platform/core/src/contracts/issues.ts +13 -13
- package/node_modules/@sdd-agent-platform/core/src/contracts.test.ts +9 -9
- package/node_modules/@sdd-agent-platform/core/src/contracts.ts +121 -115
- package/node_modules/@sdd-agent-platform/core/src/delegation/delegation.test.ts +183 -183
- package/node_modules/@sdd-agent-platform/core/src/delegation/model.ts +23 -23
- package/node_modules/@sdd-agent-platform/core/src/delegation/queue.ts +58 -58
- package/node_modules/@sdd-agent-platform/core/src/delegation/run-state.ts +14 -14
- package/node_modules/@sdd-agent-platform/core/src/delegation/state-machine.ts +90 -90
- package/node_modules/@sdd-agent-platform/core/src/delegation/validation.ts +124 -124
- package/node_modules/@sdd-agent-platform/core/src/delegation.ts +26 -26
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/ai-entries.ts +28 -28
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/document-chain.ts +104 -112
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/local-run-index.ts +27 -27
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/project.ts +84 -84
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/registries.ts +252 -252
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/run-evidence.ts +330 -330
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/run-records.ts +79 -79
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/run-trust.ts +128 -128
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/runtime-contracts.ts +300 -300
- package/node_modules/@sdd-agent-platform/core/src/doctor/doctor.test.ts +627 -657
- package/node_modules/@sdd-agent-platform/core/src/doctor/doctor.ts +301 -318
- package/node_modules/@sdd-agent-platform/core/src/doctor/model.ts +13 -13
- package/node_modules/@sdd-agent-platform/core/src/doctor/summary.ts +11 -11
- package/node_modules/@sdd-agent-platform/core/src/doctor.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/evidence/lookup.ts +80 -80
- package/node_modules/@sdd-agent-platform/core/src/evidence-runtime/contracts.ts +48 -49
- package/node_modules/@sdd-agent-platform/core/src/evidence-runtime.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/src/execution/agent-execution-records.ts +195 -195
- package/node_modules/@sdd-agent-platform/core/src/execution/background-executor.test.ts +187 -187
- package/node_modules/@sdd-agent-platform/core/src/execution/background-executor.ts +305 -305
- package/node_modules/@sdd-agent-platform/core/src/execution/foreground-subagents.test.ts +97 -97
- package/node_modules/@sdd-agent-platform/core/src/execution/foreground-subagents.ts +453 -453
- package/node_modules/@sdd-agent-platform/core/src/execution/host-invocation.ts +225 -225
- package/node_modules/@sdd-agent-platform/core/src/execution/resident-worker.test.ts +132 -132
- package/node_modules/@sdd-agent-platform/core/src/execution/resident-worker.ts +436 -436
- package/node_modules/@sdd-agent-platform/core/src/execution/stage-team-runtime.test.ts +102 -102
- package/node_modules/@sdd-agent-platform/core/src/execution/stage-team-runtime.ts +271 -271
- package/node_modules/@sdd-agent-platform/core/src/execution/wave-executor.test.ts +111 -111
- package/node_modules/@sdd-agent-platform/core/src/execution/wave-executor.ts +231 -231
- package/node_modules/@sdd-agent-platform/core/src/execution.ts +5 -5
- package/node_modules/@sdd-agent-platform/core/src/governance/policy.test.ts +57 -57
- package/node_modules/@sdd-agent-platform/core/src/governance/policy.ts +175 -175
- package/node_modules/@sdd-agent-platform/core/src/governance.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/src/instructions.test.ts +80 -49
- package/node_modules/@sdd-agent-platform/core/src/instructions.ts +38 -81
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/decision-gate.test.ts +174 -174
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/decision-gate.ts +373 -373
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/rendering.ts +29 -29
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/risk-signals.ts +146 -146
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/ship.test.ts +47 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/ship.ts +255 -263
- package/node_modules/@sdd-agent-platform/core/src/lifecycle-graph/contracts.ts +179 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle-graph/kernel.ts +522 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle-graph.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle.ts +4 -4
- package/node_modules/@sdd-agent-platform/core/src/orchestration/contracts.ts +50 -50
- package/node_modules/@sdd-agent-platform/core/src/orchestration/index.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/orchestration/runtime.ts +331 -342
- package/node_modules/@sdd-agent-platform/core/src/path-safety.test.ts +22 -22
- package/node_modules/@sdd-agent-platform/core/src/phase8-contracts.test.ts +243 -243
- package/node_modules/@sdd-agent-platform/core/src/phase8-projection-compat.test.ts +152 -153
- package/node_modules/@sdd-agent-platform/core/src/phase8-risk-kernel.test.ts +277 -277
- package/node_modules/@sdd-agent-platform/core/src/phase9-lifecycle-graph.test.ts +103 -0
- package/node_modules/@sdd-agent-platform/core/src/planning/task-graph.test.ts +88 -88
- package/node_modules/@sdd-agent-platform/core/src/planning/task-graph.ts +222 -222
- package/node_modules/@sdd-agent-platform/core/src/planning/wave-plan.test.ts +79 -79
- package/node_modules/@sdd-agent-platform/core/src/planning/wave-plan.ts +160 -160
- package/node_modules/@sdd-agent-platform/core/src/planning.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/registries/agent-capability-catalog.ts +426 -426
- package/node_modules/@sdd-agent-platform/core/src/registries/agent-registry.ts +230 -146
- package/node_modules/@sdd-agent-platform/core/src/registries/agent-runtime-static.ts +142 -142
- package/node_modules/@sdd-agent-platform/core/src/registries/capability-sources.ts +253 -253
- package/node_modules/@sdd-agent-platform/core/src/registries/command-team-runtime.ts +302 -309
- package/node_modules/@sdd-agent-platform/core/src/registries/eval-learning-context.ts +246 -246
- package/node_modules/@sdd-agent-platform/core/src/registries/plan-scout-domains.ts +89 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/query-status.ts +119 -119
- package/node_modules/@sdd-agent-platform/core/src/registries/registries.test.ts +454 -429
- package/node_modules/@sdd-agent-platform/core/src/registries/skill-capabilities.ts +37 -37
- package/node_modules/@sdd-agent-platform/core/src/registries/tool-capabilities.ts +135 -135
- package/node_modules/@sdd-agent-platform/core/src/registries/tool-plugins.ts +132 -132
- package/node_modules/@sdd-agent-platform/core/src/registries/worker-adapters.ts +144 -144
- package/node_modules/@sdd-agent-platform/core/src/registries/workflow-gates.ts +111 -111
- package/node_modules/@sdd-agent-platform/core/src/registries.ts +42 -42
- package/node_modules/@sdd-agent-platform/core/src/risk/consumer-diagnostics.ts +98 -97
- package/node_modules/@sdd-agent-platform/core/src/risk/contracts.ts +63 -63
- package/node_modules/@sdd-agent-platform/core/src/risk/kernel.ts +233 -233
- package/node_modules/@sdd-agent-platform/core/src/risk/legacy-adapters.ts +251 -266
- package/node_modules/@sdd-agent-platform/core/src/risk/workflow-gates.ts +203 -203
- package/node_modules/@sdd-agent-platform/core/src/risk.ts +5 -5
- package/node_modules/@sdd-agent-platform/core/src/router/agent-runtime-config.ts +327 -327
- package/node_modules/@sdd-agent-platform/core/src/router/agent-runtime.ts +388 -388
- package/node_modules/@sdd-agent-platform/core/src/router/profile-resolution.ts +154 -154
- package/node_modules/@sdd-agent-platform/core/src/router/risk-policy.ts +33 -33
- package/node_modules/@sdd-agent-platform/core/src/router/route-cache.ts +100 -100
- package/node_modules/@sdd-agent-platform/core/src/router/route-projection.ts +356 -356
- package/node_modules/@sdd-agent-platform/core/src/router/route-sdd-task.test.ts +428 -428
- package/node_modules/@sdd-agent-platform/core/src/router/route-sdd-task.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/router/routing-rules.ts +73 -73
- package/node_modules/@sdd-agent-platform/core/src/router/routing.ts +189 -191
- package/node_modules/@sdd-agent-platform/core/src/router/runtime-import.ts +464 -0
- package/node_modules/@sdd-agent-platform/core/src/router/runtime-inspection.ts +124 -124
- package/node_modules/@sdd-agent-platform/core/src/router/runtime-registry.ts +123 -123
- package/node_modules/@sdd-agent-platform/core/src/router/runtime-validation.ts +277 -277
- package/node_modules/@sdd-agent-platform/core/src/router/stage-route-binding.ts +273 -0
- package/node_modules/@sdd-agent-platform/core/src/router/team-mode.ts +170 -170
- package/node_modules/@sdd-agent-platform/core/src/router.ts +5 -4
- package/node_modules/@sdd-agent-platform/core/src/run-state/artifacts.ts +126 -118
- package/node_modules/@sdd-agent-platform/core/src/run-state/events.ts +27 -27
- package/node_modules/@sdd-agent-platform/core/src/run-state/inspect-run.ts +172 -172
- package/node_modules/@sdd-agent-platform/core/src/run-state/invocation-ledger.ts +109 -109
- package/node_modules/@sdd-agent-platform/core/src/run-state/model.ts +252 -230
- package/node_modules/@sdd-agent-platform/core/src/run-state/run-index.test.ts +52 -52
- package/node_modules/@sdd-agent-platform/core/src/run-state/run-index.ts +356 -356
- package/node_modules/@sdd-agent-platform/core/src/run-state/run-state.test.ts +70 -70
- package/node_modules/@sdd-agent-platform/core/src/run-state/run-state.ts +406 -406
- package/node_modules/@sdd-agent-platform/core/src/run-state/task-evidence.ts +198 -206
- package/node_modules/@sdd-agent-platform/core/src/run-state/timing.ts +146 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state.ts +8 -8
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis/build.ts +60 -63
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis/findings.ts +257 -296
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis/model.ts +140 -152
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis.test.ts +66 -68
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/runtime-paths.ts +253 -176
- package/node_modules/@sdd-agent-platform/core/src/runtime-projection-p0.test.ts +101 -0
- package/node_modules/@sdd-agent-platform/core/src/runtime-projection-p0.ts +314 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/artifact-depth.test.ts +380 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/artifact-depth.ts +207 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/context.ts +111 -111
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/document-hashes.ts +207 -207
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/run-binding.ts +95 -95
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-inspection.ts +39 -39
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-parser.test.ts +467 -401
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-parser.ts +738 -694
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-rendering.ts +81 -81
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs.ts +5 -5
- package/node_modules/@sdd-agent-platform/core/src/spec-manager-contracts.ts +13 -0
- package/node_modules/@sdd-agent-platform/core/src/stage-artifacts.ts +435 -0
- package/node_modules/@sdd-agent-platform/core/src/stage-collaboration-contracts.ts +316 -0
- package/node_modules/@sdd-agent-platform/core/src/stage-collaboration.test.ts +2964 -0
- package/node_modules/@sdd-agent-platform/core/src/stage-collaboration.ts +5856 -0
- package/node_modules/@sdd-agent-platform/core/src/stage-runtime/contracts.ts +40 -40
- package/node_modules/@sdd-agent-platform/core/src/stage-runtime/runtime.test.ts +209 -209
- package/node_modules/@sdd-agent-platform/core/src/stage-runtime/runtime.ts +360 -352
- package/node_modules/@sdd-agent-platform/core/src/stage-runtime.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/status/project-status.test.ts +288 -288
- package/node_modules/@sdd-agent-platform/core/src/status/project-status.ts +651 -625
- package/node_modules/@sdd-agent-platform/core/src/status.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/storage/json-io.ts +10 -10
- package/node_modules/@sdd-agent-platform/core/src/storage/runtime-store.test.ts +489 -489
- package/node_modules/@sdd-agent-platform/core/src/storage/runtime-store.ts +1981 -1175
- package/node_modules/@sdd-agent-platform/core/src/subagents/contracts.ts +45 -45
- package/node_modules/@sdd-agent-platform/core/src/subagents/runtime.test.ts +232 -232
- package/node_modules/@sdd-agent-platform/core/src/subagents/runtime.ts +307 -307
- package/node_modules/@sdd-agent-platform/core/src/subagents.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/task-execution-contract.test.ts +141 -0
- package/node_modules/@sdd-agent-platform/core/src/task-execution-contract.ts +566 -0
- package/node_modules/@sdd-agent-platform/core/src/task-risk-profile.ts +193 -193
- package/node_modules/@sdd-agent-platform/core/src/test-support/fixtures.ts +413 -398
- package/node_modules/@sdd-agent-platform/core/src/test-support/run-state.ts +102 -70
- package/node_modules/@sdd-agent-platform/core/src/test-support.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/truth-reconciliation.test.ts +72 -0
- package/node_modules/@sdd-agent-platform/core/src/truth-reconciliation.ts +174 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/rendering.ts +137 -181
- package/node_modules/@sdd-agent-platform/core/src/verification/review-gate.test.ts +77 -77
- package/node_modules/@sdd-agent-platform/core/src/verification/review-gate.ts +77 -77
- package/node_modules/@sdd-agent-platform/core/src/verification/single-task-loop.ts +455 -494
- package/node_modules/@sdd-agent-platform/core/src/verification/{goal-verify.test.ts → task-evidence-judgment.test.ts} +261 -335
- package/node_modules/@sdd-agent-platform/core/src/verification/{goal-verify.ts → task-evidence-judgment.ts} +619 -648
- package/node_modules/@sdd-agent-platform/core/src/verification/test-runtime.ts +1190 -1032
- package/node_modules/@sdd-agent-platform/core/src/verification/validation-cache.ts +106 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/validation-wave.ts +513 -513
- package/node_modules/@sdd-agent-platform/core/src/verification/verify-contract.ts +334 -358
- package/node_modules/@sdd-agent-platform/core/src/verification.ts +8 -8
- package/node_modules/@sdd-agent-platform/core/src/work-units/contracts.ts +26 -26
- package/node_modules/@sdd-agent-platform/core/src/work-units/runtime.test.ts +88 -88
- package/node_modules/@sdd-agent-platform/core/src/work-units/runtime.ts +112 -112
- package/node_modules/@sdd-agent-platform/core/src/work-units.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/evidence-packet.ts +190 -196
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/hard-checks.test.ts +169 -171
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/hard-checks.ts +136 -143
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/policy.test.ts +135 -137
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/policy.ts +153 -155
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/types.ts +111 -114
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/affected-file-conflicts.ts +95 -95
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/dependencies.test.ts +32 -32
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/dependencies.ts +114 -114
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/latest-eligible-run.ts +184 -156
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/migration-recovery.ts +158 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/repair-contract.ts +77 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/resolve-task-run.ts +114 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/resolve.test.ts +970 -464
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/resolve.ts +967 -363
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/runtime-projections.ts +712 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/src/worktree/isolation.ts +130 -130
- package/node_modules/@sdd-agent-platform/core/src/worktree/lifecycle.ts +269 -269
- package/node_modules/@sdd-agent-platform/core/src/worktree/worktree.test.ts +150 -150
- package/node_modules/@sdd-agent-platform/core/src/worktree.ts +2 -2
- package/node_modules/@sdd-agent-platform/core/tsconfig.json +15 -15
- package/package.json +2 -2
- package/packages/cli/dist/args.js +1 -1
- package/packages/cli/dist/args.js.map +1 -1
- package/packages/cli/dist/commands/context.js +1 -1
- package/packages/cli/dist/commands/context.js.map +1 -1
- package/packages/cli/dist/commands/evidence.js.map +1 -0
- package/packages/cli/dist/commands/execution.js +126 -0
- package/packages/cli/dist/commands/execution.js.map +1 -1
- package/packages/cli/dist/commands/instructions.d.ts +1 -1
- package/packages/cli/dist/commands/instructions.js +15 -1
- package/packages/cli/dist/commands/instructions.js.map +1 -1
- package/packages/cli/dist/commands/registry/runtime.js +70 -1
- package/packages/cli/dist/commands/registry/runtime.js.map +1 -1
- package/packages/cli/dist/commands/run.js +12 -1
- package/packages/cli/dist/commands/run.js.map +1 -1
- package/packages/cli/dist/commands/stage-close.d.ts +66 -0
- package/packages/cli/dist/commands/stage-close.js +524 -0
- package/packages/cli/dist/commands/stage-close.js.map +1 -0
- package/packages/cli/dist/commands/status.js +8 -1
- package/packages/cli/dist/commands/status.js.map +1 -1
- package/packages/cli/dist/commands/tasks.js.map +1 -1
- package/packages/cli/dist/dispatch.js +6 -31
- package/packages/cli/dist/dispatch.js.map +1 -1
- package/packages/cli/dist/help.js +153 -158
- package/packages/cli/dist/help.js.map +1 -1
- package/packages/cli/dist/renderers/workflow.d.ts +51 -2
- package/packages/cli/dist/renderers/workflow.js.map +1 -1
- package/packages/cli/dist/skill-import-args.d.ts +10 -0
- package/packages/cli/dist/skill-import-args.js +47 -0
- package/packages/cli/dist/skill-import-args.js.map +1 -0
- package/packages/cli/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/cli/package.json +2 -2
- package/packages/core/dist/ai-tools.js +84 -103
- package/packages/core/dist/ai-tools.js.map +1 -1
- package/packages/core/dist/config/init-project.d.ts +10 -6
- package/packages/core/dist/config/init-project.js +7 -8
- package/packages/core/dist/config/init-project.js.map +1 -1
- package/packages/core/dist/config/project-config.d.ts +3 -1
- package/packages/core/dist/config/project-config.js +7 -3
- package/packages/core/dist/config/project-config.js.map +1 -1
- package/packages/core/dist/config/starter-documents.d.ts +0 -1
- package/packages/core/dist/config/starter-documents.js +374 -421
- package/packages/core/dist/config/starter-documents.js.map +1 -1
- package/packages/core/dist/context/build-package.d.ts +1 -1
- package/packages/core/dist/context/build-package.js +7 -19
- package/packages/core/dist/context/build-package.js.map +1 -1
- package/packages/core/dist/contracts.d.ts +7 -1
- package/packages/core/dist/contracts.js +6 -0
- package/packages/core/dist/contracts.js.map +1 -1
- package/packages/core/dist/doctor/checks/document-chain.js +2 -12
- package/packages/core/dist/doctor/checks/document-chain.js.map +1 -1
- package/packages/core/dist/doctor/doctor.js +1 -18
- package/packages/core/dist/doctor/doctor.js.map +1 -1
- package/packages/core/dist/evidence/lookup.d.ts +1 -1
- package/packages/core/dist/evidence/lookup.js +1 -1
- package/packages/core/dist/evidence/lookup.js.map +1 -1
- package/packages/core/dist/evidence-runtime/contracts.d.ts +0 -1
- package/packages/core/dist/evidence-runtime/coordination.js +110 -0
- package/packages/core/dist/evidence-runtime/coordination.js.map +1 -0
- package/packages/core/dist/execution/host-invocation.js +83 -83
- package/packages/core/dist/instructions.d.ts +1 -1
- package/packages/core/dist/instructions.js +37 -80
- package/packages/core/dist/instructions.js.map +1 -1
- package/packages/core/dist/lifecycle/ship.js +58 -68
- package/packages/core/dist/lifecycle/ship.js.map +1 -1
- package/packages/core/dist/lifecycle-graph/contracts.d.ts +159 -0
- package/packages/core/dist/lifecycle-graph/contracts.js +7 -0
- package/packages/core/dist/lifecycle-graph/contracts.js.map +1 -0
- package/packages/core/dist/lifecycle-graph/kernel.d.ts +16 -0
- package/packages/core/dist/lifecycle-graph/kernel.js +461 -0
- package/packages/core/dist/lifecycle-graph/kernel.js.map +1 -0
- package/packages/core/dist/lifecycle-graph.d.ts +2 -0
- package/packages/core/dist/lifecycle-graph.js +3 -0
- package/packages/core/dist/lifecycle-graph.js.map +1 -0
- package/packages/core/dist/orchestration/contracts.d.ts +1 -1
- package/packages/core/dist/orchestration/runtime.js +21 -28
- package/packages/core/dist/orchestration/runtime.js.map +1 -1
- package/packages/core/dist/registries/agent-registry.js +124 -40
- package/packages/core/dist/registries/agent-registry.js.map +1 -1
- package/packages/core/dist/registries/command-team-runtime.d.ts +1 -1
- package/packages/core/dist/registries/command-team-runtime.js +6 -13
- package/packages/core/dist/registries/command-team-runtime.js.map +1 -1
- package/packages/core/dist/registries/plan-scout-domains.d.ts +13 -0
- package/packages/core/dist/registries/plan-scout-domains.js +76 -0
- package/packages/core/dist/registries/plan-scout-domains.js.map +1 -0
- package/packages/core/dist/registries/skill-capabilities.js +7 -7
- package/packages/core/dist/registries/skill-capabilities.js.map +1 -1
- package/packages/core/dist/registries/tool-capabilities.js +6 -6
- package/packages/core/dist/registries/tool-capabilities.js.map +1 -1
- package/packages/core/dist/registries/workflow-gates.d.ts +1 -1
- package/packages/core/dist/registries/workflow-gates.js +18 -18
- package/packages/core/dist/registries/workflow-gates.js.map +1 -1
- package/packages/core/dist/risk/consumer-diagnostics.js +2 -1
- package/packages/core/dist/risk/consumer-diagnostics.js.map +1 -1
- package/packages/core/dist/risk/contracts.d.ts +2 -2
- package/packages/core/dist/risk/kernel.js +7 -7
- package/packages/core/dist/risk/kernel.js.map +1 -1
- package/packages/core/dist/risk/legacy-adapters.js +12 -27
- package/packages/core/dist/risk/legacy-adapters.js.map +1 -1
- package/packages/core/dist/risk/workflow-gates.js +6 -6
- package/packages/core/dist/risk/workflow-gates.js.map +1 -1
- package/packages/core/dist/router/agent-runtime-config.js +1 -1
- package/packages/core/dist/router/agent-runtime-config.js.map +1 -1
- package/packages/core/dist/router/routing.js +2 -4
- package/packages/core/dist/router/routing.js.map +1 -1
- package/packages/core/dist/router/runtime-import.d.ts +28 -0
- package/packages/core/dist/router/runtime-import.js +383 -0
- package/packages/core/dist/router/runtime-import.js.map +1 -0
- package/packages/core/dist/router/stage-route-binding.d.ts +37 -0
- package/packages/core/dist/router/stage-route-binding.js +227 -0
- package/packages/core/dist/router/stage-route-binding.js.map +1 -0
- package/packages/core/dist/router.d.ts +1 -0
- package/packages/core/dist/router.js +1 -0
- package/packages/core/dist/router.js.map +1 -1
- package/packages/core/dist/run-state/artifacts.d.ts +16 -0
- package/packages/core/dist/run-state/artifacts.js +6 -0
- package/packages/core/dist/run-state/artifacts.js.map +1 -1
- package/packages/core/dist/run-state/model.d.ts +20 -0
- package/packages/core/dist/run-state/run-state.js +7 -7
- package/packages/core/dist/run-state/run-state.js.map +1 -1
- package/packages/core/dist/run-state/task-evidence.d.ts +1 -2
- package/packages/core/dist/run-state/task-evidence.js +2 -9
- package/packages/core/dist/run-state/task-evidence.js.map +1 -1
- package/packages/core/dist/run-state/timing.d.ts +8 -0
- package/packages/core/dist/run-state/timing.js +131 -0
- package/packages/core/dist/run-state/timing.js.map +1 -0
- package/packages/core/dist/runtime-analysis/build.js +1 -4
- package/packages/core/dist/runtime-analysis/build.js.map +1 -1
- package/packages/core/dist/runtime-analysis/findings.js +0 -39
- package/packages/core/dist/runtime-analysis/findings.js.map +1 -1
- package/packages/core/dist/runtime-analysis/model.d.ts +1 -17
- package/packages/core/dist/runtime-paths.d.ts +10 -0
- package/packages/core/dist/runtime-paths.js +65 -0
- package/packages/core/dist/runtime-paths.js.map +1 -1
- package/packages/core/dist/runtime-projection-p0.d.ts +64 -0
- package/packages/core/dist/runtime-projection-p0.js +211 -0
- package/packages/core/dist/runtime-projection-p0.js.map +1 -0
- package/packages/core/dist/sdd-docs/artifact-depth.d.ts +14 -0
- package/packages/core/dist/sdd-docs/artifact-depth.js +179 -0
- package/packages/core/dist/sdd-docs/artifact-depth.js.map +1 -0
- package/packages/core/dist/sdd-docs/task-parser.d.ts +5 -1
- package/packages/core/dist/sdd-docs/task-parser.js +60 -22
- package/packages/core/dist/sdd-docs/task-parser.js.map +1 -1
- package/packages/core/dist/sdd-docs/task-rendering.js +2 -2
- package/packages/core/dist/sdd-docs/task-rendering.js.map +1 -1
- package/packages/core/dist/spec-entry.js +40 -0
- package/packages/core/dist/spec-entry.js.map +1 -0
- package/packages/core/dist/spec-manager-contracts.d.ts +12 -0
- package/packages/core/dist/spec-manager-contracts.js +2 -0
- package/packages/core/dist/spec-manager-contracts.js.map +1 -0
- package/packages/core/dist/stage-artifacts.d.ts +55 -0
- package/packages/core/dist/stage-artifacts.js +315 -0
- package/packages/core/dist/stage-artifacts.js.map +1 -0
- package/packages/core/dist/stage-collaboration-contracts.d.ts +55 -0
- package/packages/core/dist/stage-collaboration-contracts.js +238 -0
- package/packages/core/dist/stage-collaboration-contracts.js.map +1 -0
- package/packages/core/dist/stage-collaboration.d.ts +736 -0
- package/packages/core/dist/stage-collaboration.js +4018 -0
- package/packages/core/dist/stage-collaboration.js.map +1 -0
- package/packages/core/dist/stage-runtime/runtime.js +8 -1
- package/packages/core/dist/stage-runtime/runtime.js.map +1 -1
- package/packages/core/dist/status/project-status.js +25 -1
- package/packages/core/dist/status/project-status.js.map +1 -1
- package/packages/core/dist/storage/runtime-store.d.ts +170 -18
- package/packages/core/dist/storage/runtime-store.js +597 -85
- package/packages/core/dist/storage/runtime-store.js.map +1 -1
- package/packages/core/dist/sync-back/apply.d.ts +1 -17
- package/packages/core/dist/sync-back/apply.js +1 -242
- package/packages/core/dist/sync-back/apply.js.map +1 -1
- package/packages/core/dist/sync-back/inspect.d.ts +1 -110
- package/packages/core/dist/sync-back/inspect.js +1 -496
- package/packages/core/dist/sync-back/inspect.js.map +1 -1
- package/packages/core/dist/sync-back.d.ts +1 -2
- package/packages/core/dist/sync-back.js +1 -2
- package/packages/core/dist/sync-back.js.map +1 -1
- package/packages/core/dist/task-execution-contract.d.ts +167 -0
- package/packages/core/dist/task-execution-contract.js +377 -0
- package/packages/core/dist/task-execution-contract.js.map +1 -0
- package/packages/core/dist/test-support/fixtures.js +329 -314
- package/packages/core/dist/test-support/fixtures.js.map +1 -1
- package/packages/core/dist/test-support/run-state.d.ts +1 -0
- package/packages/core/dist/test-support/run-state.js +31 -0
- package/packages/core/dist/test-support/run-state.js.map +1 -1
- package/packages/core/dist/truth-reconciliation.d.ts +44 -0
- package/packages/core/dist/truth-reconciliation.js +135 -0
- package/packages/core/dist/truth-reconciliation.js.map +1 -0
- package/packages/core/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/core/dist/verification/goal-verify.d.ts +0 -49
- package/packages/core/dist/verification/goal-verify.js +1 -545
- package/packages/core/dist/verification/goal-verify.js.map +1 -1
- package/packages/core/dist/verification/rendering.d.ts +5 -7
- package/packages/core/dist/verification/rendering.js +15 -55
- package/packages/core/dist/verification/rendering.js.map +1 -1
- package/packages/core/dist/verification/single-task-loop.js +1 -40
- package/packages/core/dist/verification/single-task-loop.js.map +1 -1
- package/packages/core/dist/verification/task-evidence-judgment.d.ts +49 -0
- package/packages/core/dist/verification/task-evidence-judgment.js +521 -0
- package/packages/core/dist/verification/task-evidence-judgment.js.map +1 -0
- package/packages/core/dist/verification/test-runtime.d.ts +12 -2
- package/packages/core/dist/verification/test-runtime.js +247 -112
- package/packages/core/dist/verification/test-runtime.js.map +1 -1
- package/packages/core/dist/verification/validation-cache.d.ts +26 -0
- package/packages/core/dist/verification/validation-cache.js +73 -0
- package/packages/core/dist/verification/validation-cache.js.map +1 -0
- package/packages/core/dist/verification/verify-contract.d.ts +1 -1
- package/packages/core/dist/verification/verify-contract.js +49 -72
- package/packages/core/dist/verification/verify-contract.js.map +1 -1
- package/packages/core/dist/verification.d.ts +3 -3
- package/packages/core/dist/verification.js +2 -2
- package/packages/core/dist/verification.js.map +1 -1
- package/packages/core/dist/workflow-gate/evidence-packet.js +2 -7
- package/packages/core/dist/workflow-gate/evidence-packet.js.map +1 -1
- package/packages/core/dist/workflow-gate/hard-checks.js +0 -7
- package/packages/core/dist/workflow-gate/hard-checks.js.map +1 -1
- package/packages/core/dist/workflow-gate/policy.js +2 -4
- package/packages/core/dist/workflow-gate/policy.js.map +1 -1
- package/packages/core/dist/workflow-gate/types.d.ts +3 -5
- package/packages/core/dist/workflow-state/latest-eligible-run.js +30 -4
- package/packages/core/dist/workflow-state/latest-eligible-run.js.map +1 -1
- package/packages/core/dist/workflow-state/migration-recovery.d.ts +40 -0
- package/packages/core/dist/workflow-state/migration-recovery.js +110 -0
- package/packages/core/dist/workflow-state/migration-recovery.js.map +1 -0
- package/packages/core/dist/workflow-state/repair-contract.d.ts +12 -0
- package/packages/core/dist/workflow-state/repair-contract.js +63 -0
- package/packages/core/dist/workflow-state/repair-contract.js.map +1 -0
- package/packages/core/dist/workflow-state/resolve-task-run.d.ts +21 -0
- package/packages/core/dist/workflow-state/resolve-task-run.js +95 -0
- package/packages/core/dist/workflow-state/resolve-task-run.js.map +1 -0
- package/packages/core/dist/workflow-state/resolve.d.ts +55 -5
- package/packages/core/dist/workflow-state/resolve.js +518 -36
- package/packages/core/dist/workflow-state/resolve.js.map +1 -1
- package/packages/core/dist/workflow-state/runtime-projections.d.ts +228 -0
- package/packages/core/dist/workflow-state/runtime-projections.js +452 -0
- package/packages/core/dist/workflow-state/runtime-projections.js.map +1 -0
- package/packages/core/package.json +6 -3
- package/tsconfig.build.json +6 -7
- package/node_modules/@sdd-agent-platform/core/dist/doctor/render.d.ts +0 -2
- package/node_modules/@sdd-agent-platform/core/dist/doctor/render.js +0 -44
- package/node_modules/@sdd-agent-platform/core/dist/doctor/render.js.map +0 -1
- package/node_modules/@sdd-agent-platform/core/src/sync-back/apply.ts +0 -270
- package/node_modules/@sdd-agent-platform/core/src/sync-back/inspect.ts +0 -655
- package/node_modules/@sdd-agent-platform/core/src/sync-back/sync-back.test.ts +0 -569
- package/node_modules/@sdd-agent-platform/core/src/sync-back.ts +0 -2
- package/node_modules/@sdd-agent-platform/core/src/verification/single-task-loop.test.ts +0 -255
- package/node_modules/@sdd-agent-platform/core/src/verification/test-runtime.test.ts +0 -439
- package/node_modules/@sdd-agent-platform/core/src/verification/validation-wave.test.ts +0 -341
- package/node_modules/@sdd-agent-platform/core/src/verification/verify-contract.test.ts +0 -204
- package/packages/cli/dist/commands/lifecycle.d.ts +0 -6
- package/packages/cli/dist/commands/lifecycle.js +0 -112
- package/packages/cli/dist/commands/lifecycle.js.map +0 -1
- package/packages/cli/dist/commands/sync-back.d.ts +0 -6
- package/packages/cli/dist/commands/sync-back.js +0 -82
- package/packages/cli/dist/commands/sync-back.js.map +0 -1
- package/packages/cli/dist/commands/test.d.ts +0 -6
- package/packages/cli/dist/commands/test.js +0 -195
- package/packages/cli/dist/commands/test.js.map +0 -1
- package/packages/cli/dist/commands/verifies.d.ts +0 -6
- package/packages/cli/dist/commands/verifies.js +0 -85
- package/packages/cli/dist/commands/verifies.js.map +0 -1
- package/packages/cli/dist/commands/verify.d.ts +0 -6
- package/packages/cli/dist/commands/verify.js +0 -134
- package/packages/cli/dist/commands/verify.js.map +0 -1
- package/packages/core/dist/doctor/render.d.ts +0 -2
- package/packages/core/dist/doctor/render.js +0 -44
- package/packages/core/dist/doctor/render.js.map +0 -1
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION } from '../contracts.js';
|
|
2
|
-
|
|
3
|
-
type LifecycleAutonomyCeiling = 'direct_execution_allowed' | 'compact_boundary_only' | 'full_sdd_with_checkpoint' | 'research_before_implementation';
|
|
4
|
-
type CapabilityReuseDecision = 'reuse_direct' | 'adapt_via_host_adapter' | 'borrow_mechanism' | 'avoid';
|
|
5
|
-
type SkillCapabilityKind = 'skill' | 'mcp' | 'cli_tool' | 'host_tool' | 'project_agent' | 'external_pattern';
|
|
6
|
-
type SkillCapabilitySource = 'project' | 'user_global' | 'claude_code' | 'mcp' | 'open_source' | 'host';
|
|
7
|
-
type SkillCapabilityEvidenceType = 'none' | 'command_output' | 'test_result' | 'browser_snapshot' | 'artifact' | 'external_source' | 'execution_record';
|
|
8
|
-
|
|
9
|
-
interface BuiltInSkillCapabilityContract {
|
|
10
|
-
version: typeof AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION;
|
|
11
|
-
id: string;
|
|
12
|
-
name: string;
|
|
13
|
-
kind: SkillCapabilityKind;
|
|
14
|
-
source: SkillCapabilitySource;
|
|
15
|
-
sourceRef: string;
|
|
16
|
-
capabilityDomain: string[];
|
|
17
|
-
allowedStages: string[];
|
|
18
|
-
requiredRiskCeiling: LifecycleAutonomyCeiling;
|
|
19
|
-
evidenceType: SkillCapabilityEvidenceType;
|
|
20
|
-
reuseDecision: CapabilityReuseDecision;
|
|
21
|
-
buildExceptionReason: string | null;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export const BUILT_IN_SKILL_CAPABILITIES: BuiltInSkillCapabilityContract[] = [
|
|
25
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'claude.subagent.researcher', name: 'Claude Code researcher subagent', kind: 'host_tool', source: 'claude_code', sourceRef: 'Claude Code Agent tool', capabilityDomain: ['research', 'search'], allowedStages: ['spec', 'plan', 'tasks', 'review'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'execution_record', reuseDecision: 'reuse_direct', buildExceptionReason: null },
|
|
26
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'claude.subagent.implementer', name: 'Claude Code implementer subagent', kind: 'host_tool', source: 'claude_code', sourceRef: 'Claude Code Agent tool', capabilityDomain: ['edit', 'test'], allowedStages: ['
|
|
27
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'claude.skill.sdd', name: 'SDD workflow skill', kind: 'skill', source: 'project', sourceRef: '.claude/skills/sdd/SKILL.md', capabilityDomain: ['planning', 'validation'], allowedStages: ['spec', 'plan', 'tasks', '
|
|
28
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'context7.docs', name: 'Context7 documentation lookup', kind: 'mcp', source: 'mcp', sourceRef: 'Context7 MCP', capabilityDomain: ['docs', 'api'], allowedStages: ['spec', 'plan', 'review'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'external_source', reuseDecision: 'reuse_direct', buildExceptionReason: null },
|
|
29
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'playwright.browser_validation', name: 'Playwright browser validation', kind: 'mcp', source: 'mcp', sourceRef: 'Playwright MCP/CLI', capabilityDomain: ['browser', 'validation'], allowedStages: ['
|
|
30
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'host.search.grep_glob', name: 'Host file and content search', kind: 'host_tool', source: 'host', sourceRef: 'Grep/Glob/Read tools', capabilityDomain: ['search'], allowedStages: ['spec', 'plan', 'tasks', '
|
|
31
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'host.edit.hashline', name: 'Hashline UTF-8 edit capability', kind: 'host_tool', source: 'host', sourceRef: 'hashline-edit MCP', capabilityDomain: ['edit'], allowedStages: ['
|
|
32
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'host.cli.shell', name: 'Host shell command execution', kind: 'cli_tool', source: 'host', sourceRef: 'PowerShell/Bash', capabilityDomain: ['test', 'build', 'git'], allowedStages: ['
|
|
33
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'pattern.opencode.plugin_registry', name: 'OpenCode plugin registry mechanism', kind: 'external_pattern', source: 'open_source', sourceRef: 'OpenCode plugin/agent mechanism', capabilityDomain: ['host_adapter'], allowedStages: ['plan'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'none', reuseDecision: 'borrow_mechanism', buildExceptionReason: null },
|
|
34
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'pattern.ohmy.agent_routing', name: 'Oh My OpenAgent routing pattern', kind: 'external_pattern', source: 'open_source', sourceRef: 'Oh My OpenAgent/OpenCode', capabilityDomain: ['routing', 'model_policy'], allowedStages: ['plan', 'tasks'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'none', reuseDecision: 'borrow_mechanism', buildExceptionReason: null },
|
|
35
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'pattern.ohmy.security_research', name: 'Oh My security-research team pattern', kind: 'external_pattern', source: 'open_source', sourceRef: 'Oh My OpenCode team-mode/security-research', capabilityDomain: ['security', 'review'], allowedStages: ['plan', 'review', '
|
|
36
|
-
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'external.agency_agents.material', name: 'Agency agents domain material', kind: 'external_pattern', source: 'open_source', sourceRef: 'msitarzewski/agency-agents', capabilityDomain: ['domain_expert', 'source_material'], allowedStages: ['spec', 'plan', 'review'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'external_source', reuseDecision: 'adapt_via_host_adapter', buildExceptionReason: null }
|
|
37
|
-
];
|
|
1
|
+
import { AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION } from '../contracts.js';
|
|
2
|
+
|
|
3
|
+
type LifecycleAutonomyCeiling = 'direct_execution_allowed' | 'compact_boundary_only' | 'full_sdd_with_checkpoint' | 'research_before_implementation';
|
|
4
|
+
type CapabilityReuseDecision = 'reuse_direct' | 'adapt_via_host_adapter' | 'borrow_mechanism' | 'avoid';
|
|
5
|
+
type SkillCapabilityKind = 'skill' | 'mcp' | 'cli_tool' | 'host_tool' | 'project_agent' | 'external_pattern';
|
|
6
|
+
type SkillCapabilitySource = 'project' | 'user_global' | 'claude_code' | 'mcp' | 'open_source' | 'host';
|
|
7
|
+
type SkillCapabilityEvidenceType = 'none' | 'command_output' | 'test_result' | 'browser_snapshot' | 'artifact' | 'external_source' | 'execution_record';
|
|
8
|
+
|
|
9
|
+
interface BuiltInSkillCapabilityContract {
|
|
10
|
+
version: typeof AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION;
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
kind: SkillCapabilityKind;
|
|
14
|
+
source: SkillCapabilitySource;
|
|
15
|
+
sourceRef: string;
|
|
16
|
+
capabilityDomain: string[];
|
|
17
|
+
allowedStages: string[];
|
|
18
|
+
requiredRiskCeiling: LifecycleAutonomyCeiling;
|
|
19
|
+
evidenceType: SkillCapabilityEvidenceType;
|
|
20
|
+
reuseDecision: CapabilityReuseDecision;
|
|
21
|
+
buildExceptionReason: string | null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const BUILT_IN_SKILL_CAPABILITIES: BuiltInSkillCapabilityContract[] = [
|
|
25
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'claude.subagent.researcher', name: 'Claude Code researcher subagent', kind: 'host_tool', source: 'claude_code', sourceRef: 'Claude Code Agent tool', capabilityDomain: ['research', 'search'], allowedStages: ['spec', 'plan', 'tasks', 'review'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'execution_record', reuseDecision: 'reuse_direct', buildExceptionReason: null },
|
|
26
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'claude.subagent.implementer', name: 'Claude Code implementer subagent', kind: 'host_tool', source: 'claude_code', sourceRef: 'Claude Code Agent tool', capabilityDomain: ['edit', 'test'], allowedStages: ['execute'], requiredRiskCeiling: 'compact_boundary_only', evidenceType: 'execution_record', reuseDecision: 'reuse_direct', buildExceptionReason: null },
|
|
27
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'claude.skill.sdd', name: 'SDD workflow skill', kind: 'skill', source: 'project', sourceRef: '.claude/skills/sdd/SKILL.md', capabilityDomain: ['planning', 'validation'], allowedStages: ['spec', 'plan', 'tasks', 'execute'], requiredRiskCeiling: 'full_sdd_with_checkpoint', evidenceType: 'artifact', reuseDecision: 'reuse_direct', buildExceptionReason: null },
|
|
28
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'context7.docs', name: 'Context7 documentation lookup', kind: 'mcp', source: 'mcp', sourceRef: 'Context7 MCP', capabilityDomain: ['docs', 'api'], allowedStages: ['spec', 'plan', 'review'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'external_source', reuseDecision: 'reuse_direct', buildExceptionReason: null },
|
|
29
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'playwright.browser_validation', name: 'Playwright browser validation', kind: 'mcp', source: 'mcp', sourceRef: 'Playwright MCP/CLI', capabilityDomain: ['browser', 'validation'], allowedStages: ['execute'], requiredRiskCeiling: 'compact_boundary_only', evidenceType: 'browser_snapshot', reuseDecision: 'reuse_direct', buildExceptionReason: null },
|
|
30
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'host.search.grep_glob', name: 'Host file and content search', kind: 'host_tool', source: 'host', sourceRef: 'Grep/Glob/Read tools', capabilityDomain: ['search'], allowedStages: ['spec', 'plan', 'tasks', 'execute', 'review'], requiredRiskCeiling: 'direct_execution_allowed', evidenceType: 'command_output', reuseDecision: 'reuse_direct', buildExceptionReason: null },
|
|
31
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'host.edit.hashline', name: 'Hashline UTF-8 edit capability', kind: 'host_tool', source: 'host', sourceRef: 'hashline-edit MCP', capabilityDomain: ['edit'], allowedStages: ['execute'], requiredRiskCeiling: 'compact_boundary_only', evidenceType: 'artifact', reuseDecision: 'reuse_direct', buildExceptionReason: null },
|
|
32
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'host.cli.shell', name: 'Host shell command execution', kind: 'cli_tool', source: 'host', sourceRef: 'PowerShell/Bash', capabilityDomain: ['test', 'build', 'git'], allowedStages: ['execute'], requiredRiskCeiling: 'compact_boundary_only', evidenceType: 'command_output', reuseDecision: 'adapt_via_host_adapter', buildExceptionReason: null },
|
|
33
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'pattern.opencode.plugin_registry', name: 'OpenCode plugin registry mechanism', kind: 'external_pattern', source: 'open_source', sourceRef: 'OpenCode plugin/agent mechanism', capabilityDomain: ['host_adapter'], allowedStages: ['plan'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'none', reuseDecision: 'borrow_mechanism', buildExceptionReason: null },
|
|
34
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'pattern.ohmy.agent_routing', name: 'Oh My OpenAgent routing pattern', kind: 'external_pattern', source: 'open_source', sourceRef: 'Oh My OpenAgent/OpenCode', capabilityDomain: ['routing', 'model_policy'], allowedStages: ['plan', 'tasks'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'none', reuseDecision: 'borrow_mechanism', buildExceptionReason: null },
|
|
35
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'pattern.ohmy.security_research', name: 'Oh My security-research team pattern', kind: 'external_pattern', source: 'open_source', sourceRef: 'Oh My OpenCode team-mode/security-research', capabilityDomain: ['security', 'review'], allowedStages: ['plan', 'review', 'execute'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'artifact', reuseDecision: 'borrow_mechanism', buildExceptionReason: null },
|
|
36
|
+
{ version: AGENT_SKILL_TEAM_RUNTIME_CONTRACT_VERSION, id: 'external.agency_agents.material', name: 'Agency agents domain material', kind: 'external_pattern', source: 'open_source', sourceRef: 'msitarzewski/agency-agents', capabilityDomain: ['domain_expert', 'source_material'], allowedStages: ['spec', 'plan', 'review'], requiredRiskCeiling: 'research_before_implementation', evidenceType: 'external_source', reuseDecision: 'adapt_via_host_adapter', buildExceptionReason: null }
|
|
37
|
+
];
|
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
import { readFile } from 'node:fs/promises';
|
|
2
|
-
import { getProjectConfigPath } from '../runtime-paths.js';
|
|
3
|
-
import { parseProjectConfig } from '../config/project-config.js';
|
|
4
|
-
|
|
5
|
-
export type ToolCapabilityCategory = 'runtime' | 'editing' | 'git' | 'validation' | 'browser' | 'artifact' | 'governance';
|
|
6
|
-
export type ToolCapabilitySideEffect = 'read_only' | 'local_write' | 'command_execution' | 'external_interaction';
|
|
7
|
-
|
|
8
|
-
export interface ToolCapability {
|
|
9
|
-
id: string;
|
|
10
|
-
title: string;
|
|
11
|
-
category: ToolCapabilityCategory;
|
|
12
|
-
summary: string;
|
|
13
|
-
sideEffect: ToolCapabilitySideEffect;
|
|
14
|
-
defaultAvailable: boolean;
|
|
15
|
-
allowedStages: string[];
|
|
16
|
-
requiredEvidence: string[];
|
|
17
|
-
forbiddenUses: string[];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface ToolCapabilityRegistry {
|
|
21
|
-
version: string;
|
|
22
|
-
capabilities: ToolCapability[];
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export const TOOL_CAPABILITY_REGISTRY_VERSION = 'phase-3.1-tool-capability-registry-v1';
|
|
26
|
-
|
|
27
|
-
const BUILT_IN_TOOL_CAPABILITIES: ToolCapability[] = [
|
|
28
|
-
{
|
|
29
|
-
id: 'artifact-run-hygiene',
|
|
30
|
-
title: 'Artifact and run hygiene',
|
|
31
|
-
category: 'artifact',
|
|
32
|
-
summary: 'Generate and validate sdd-result artifacts, archive exploratory runs, and scope doctor run evidence checks.',
|
|
33
|
-
sideEffect: 'local_write',
|
|
34
|
-
defaultAvailable: true,
|
|
35
|
-
allowedStages: ['
|
|
36
|
-
requiredEvidence: ['sdd-result artifact', 'run event log', 'doctor report'],
|
|
37
|
-
forbiddenUses: ['delete run evidence', '
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
id: 'browser-ui-check',
|
|
41
|
-
title: 'Browser UI check',
|
|
42
|
-
category: 'browser',
|
|
43
|
-
summary: 'Use a browser to inspect frontend behavior when UI changes need manual verification.',
|
|
44
|
-
sideEffect: 'external_interaction',
|
|
45
|
-
defaultAvailable: true,
|
|
46
|
-
allowedStages: ['validation', 'review'],
|
|
47
|
-
requiredEvidence: ['manual UI observation', 'console/network findings when relevant'],
|
|
48
|
-
forbiddenUses: ['bypass authentication policy', 'perform destructive production actions', 'publish sensitive data to third-party tools']
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
id: 'git-local',
|
|
52
|
-
title: 'Local Git inspection',
|
|
53
|
-
category: 'git',
|
|
54
|
-
summary: 'Inspect local repository status, diffs, and history for coordination and safety checks.',
|
|
55
|
-
sideEffect: 'read_only',
|
|
56
|
-
defaultAvailable: true,
|
|
57
|
-
allowedStages: ['status', 'review', 'doctor'],
|
|
58
|
-
requiredEvidence: ['git status or diff summary when used for decisions'],
|
|
59
|
-
forbiddenUses: ['force push', 'destructive reset', 'delete branches without explicit approval']
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
id: 'hashline-edit',
|
|
63
|
-
title: 'Hashline UTF-8 text editing',
|
|
64
|
-
category: 'editing',
|
|
65
|
-
summary: 'Edit UTF-8 text files through stable line anchors for safer targeted modifications.',
|
|
66
|
-
sideEffect: 'local_write',
|
|
67
|
-
defaultAvailable: true,
|
|
68
|
-
allowedStages: ['implementation', 'docs'],
|
|
69
|
-
requiredEvidence: ['read anchors before edit', 'diff or readback after important edits'],
|
|
70
|
-
forbiddenUses: ['edit binary files', 'retry stale anchors without rereading', 'overwrite unrelated user changes']
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
id: 'native-file-edit',
|
|
74
|
-
title: 'Native file read/edit/write fallback',
|
|
75
|
-
category: 'editing',
|
|
76
|
-
summary: 'Use native file tools for reads and targeted edits when hashline editing is unsuitable.',
|
|
77
|
-
sideEffect: 'local_write',
|
|
78
|
-
defaultAvailable: true,
|
|
79
|
-
allowedStages: ['implementation', 'docs'],
|
|
80
|
-
requiredEvidence: ['read before write', 'diff or readback after important edits'],
|
|
81
|
-
forbiddenUses: ['create unsolicited docs', 'overwrite existing files without reading', 'write secrets']
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
id: 'sdd-cli',
|
|
85
|
-
title: 'SDD local CLI/runtime',
|
|
86
|
-
category: 'runtime',
|
|
87
|
-
summary: 'Read and update local SDD runtime state, semantic docs, artifacts, and generated entries through explicit commands.',
|
|
88
|
-
sideEffect: 'command_execution',
|
|
89
|
-
defaultAvailable: true,
|
|
90
|
-
allowedStages: ['status', '
|
|
91
|
-
requiredEvidence: ['command output', 'state/event/artifact path when runtime changes'],
|
|
92
|
-
forbiddenUses: ['unapproved
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
id: 'validation-command',
|
|
96
|
-
title: 'Project validation commands',
|
|
97
|
-
category: 'validation',
|
|
98
|
-
summary: 'Run project-specific checks such as typecheck, tests, build, lint, or smoke commands.',
|
|
99
|
-
sideEffect: 'command_execution',
|
|
100
|
-
defaultAvailable: true,
|
|
101
|
-
allowedStages: ['
|
|
102
|
-
requiredEvidence: ['command name', 'pass/fail status', 'relevant output excerpt'],
|
|
103
|
-
forbiddenUses: ['skip failing checks without explanation', 'run destructive commands as validation', 'hide hook failures']
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
id: 'governance-policy',
|
|
107
|
-
title: 'Governance policy gate',
|
|
108
|
-
category: 'governance',
|
|
109
|
-
summary: 'Evaluate concurrency, confirmation, retry, cleanup, and risky-operation gates before runtime execution.',
|
|
110
|
-
sideEffect: 'read_only',
|
|
111
|
-
defaultAvailable: true,
|
|
112
|
-
allowedStages: ['status', '
|
|
113
|
-
requiredEvidence: ['policy decision', 'blocked or confirmed operation reason', 'runtime event when execution is gated'],
|
|
114
|
-
forbiddenUses: ['auto approve destructive operations', 'bypass permission prompts', 'delete run history']
|
|
115
|
-
}
|
|
116
|
-
];
|
|
117
|
-
|
|
118
|
-
export async function listToolCapabilities(projectRoot: string): Promise<ToolCapabilityRegistry> {
|
|
119
|
-
await assertProjectConfigReadable(projectRoot);
|
|
120
|
-
return {
|
|
121
|
-
version: TOOL_CAPABILITY_REGISTRY_VERSION,
|
|
122
|
-
capabilities: [...BUILT_IN_TOOL_CAPABILITIES].sort((left, right) => left.id.localeCompare(right.id))
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export async function inspectToolCapability(projectRoot: string, capabilityId: string): Promise<ToolCapability | null> {
|
|
127
|
-
const registry = await listToolCapabilities(projectRoot);
|
|
128
|
-
return registry.capabilities.find((capability) => capability.id === capabilityId) ?? null;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
async function assertProjectConfigReadable(projectRoot: string): Promise<void> {
|
|
132
|
-
const configPath = getProjectConfigPath(projectRoot);
|
|
133
|
-
const raw = await readFile(configPath, 'utf8');
|
|
134
|
-
parseProjectConfig(raw, configPath);
|
|
135
|
-
}
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { getProjectConfigPath } from '../runtime-paths.js';
|
|
3
|
+
import { parseProjectConfig } from '../config/project-config.js';
|
|
4
|
+
|
|
5
|
+
export type ToolCapabilityCategory = 'runtime' | 'editing' | 'git' | 'validation' | 'browser' | 'artifact' | 'governance';
|
|
6
|
+
export type ToolCapabilitySideEffect = 'read_only' | 'local_write' | 'command_execution' | 'external_interaction';
|
|
7
|
+
|
|
8
|
+
export interface ToolCapability {
|
|
9
|
+
id: string;
|
|
10
|
+
title: string;
|
|
11
|
+
category: ToolCapabilityCategory;
|
|
12
|
+
summary: string;
|
|
13
|
+
sideEffect: ToolCapabilitySideEffect;
|
|
14
|
+
defaultAvailable: boolean;
|
|
15
|
+
allowedStages: string[];
|
|
16
|
+
requiredEvidence: string[];
|
|
17
|
+
forbiddenUses: string[];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface ToolCapabilityRegistry {
|
|
21
|
+
version: string;
|
|
22
|
+
capabilities: ToolCapability[];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const TOOL_CAPABILITY_REGISTRY_VERSION = 'phase-3.1-tool-capability-registry-v1';
|
|
26
|
+
|
|
27
|
+
const BUILT_IN_TOOL_CAPABILITIES: ToolCapability[] = [
|
|
28
|
+
{
|
|
29
|
+
id: 'artifact-run-hygiene',
|
|
30
|
+
title: 'Artifact and run hygiene',
|
|
31
|
+
category: 'artifact',
|
|
32
|
+
summary: 'Generate and validate sdd-result artifacts, archive exploratory runs, and scope doctor run evidence checks.',
|
|
33
|
+
sideEffect: 'local_write',
|
|
34
|
+
defaultAvailable: true,
|
|
35
|
+
allowedStages: ['execute', 'doctor'],
|
|
36
|
+
requiredEvidence: ['sdd-result artifact', 'run event log', 'doctor report'],
|
|
37
|
+
forbiddenUses: ['delete run evidence', 'claim truth-alignment approval', 'mark acceptance without validator evidence']
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: 'browser-ui-check',
|
|
41
|
+
title: 'Browser UI check',
|
|
42
|
+
category: 'browser',
|
|
43
|
+
summary: 'Use a browser to inspect frontend behavior when UI changes need manual verification.',
|
|
44
|
+
sideEffect: 'external_interaction',
|
|
45
|
+
defaultAvailable: true,
|
|
46
|
+
allowedStages: ['validation', 'review'],
|
|
47
|
+
requiredEvidence: ['manual UI observation', 'console/network findings when relevant'],
|
|
48
|
+
forbiddenUses: ['bypass authentication policy', 'perform destructive production actions', 'publish sensitive data to third-party tools']
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: 'git-local',
|
|
52
|
+
title: 'Local Git inspection',
|
|
53
|
+
category: 'git',
|
|
54
|
+
summary: 'Inspect local repository status, diffs, and history for coordination and safety checks.',
|
|
55
|
+
sideEffect: 'read_only',
|
|
56
|
+
defaultAvailable: true,
|
|
57
|
+
allowedStages: ['status', 'review', 'doctor'],
|
|
58
|
+
requiredEvidence: ['git status or diff summary when used for decisions'],
|
|
59
|
+
forbiddenUses: ['force push', 'destructive reset', 'delete branches without explicit approval']
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: 'hashline-edit',
|
|
63
|
+
title: 'Hashline UTF-8 text editing',
|
|
64
|
+
category: 'editing',
|
|
65
|
+
summary: 'Edit UTF-8 text files through stable line anchors for safer targeted modifications.',
|
|
66
|
+
sideEffect: 'local_write',
|
|
67
|
+
defaultAvailable: true,
|
|
68
|
+
allowedStages: ['implementation', 'docs'],
|
|
69
|
+
requiredEvidence: ['read anchors before edit', 'diff or readback after important edits'],
|
|
70
|
+
forbiddenUses: ['edit binary files', 'retry stale anchors without rereading', 'overwrite unrelated user changes']
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: 'native-file-edit',
|
|
74
|
+
title: 'Native file read/edit/write fallback',
|
|
75
|
+
category: 'editing',
|
|
76
|
+
summary: 'Use native file tools for reads and targeted edits when hashline editing is unsuitable.',
|
|
77
|
+
sideEffect: 'local_write',
|
|
78
|
+
defaultAvailable: true,
|
|
79
|
+
allowedStages: ['implementation', 'docs'],
|
|
80
|
+
requiredEvidence: ['read before write', 'diff or readback after important edits'],
|
|
81
|
+
forbiddenUses: ['create unsolicited docs', 'overwrite existing files without reading', 'write secrets']
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: 'sdd-cli',
|
|
85
|
+
title: 'SDD local CLI/runtime',
|
|
86
|
+
category: 'runtime',
|
|
87
|
+
summary: 'Read and update local SDD runtime state, semantic docs, artifacts, and generated entries through explicit commands.',
|
|
88
|
+
sideEffect: 'command_execution',
|
|
89
|
+
defaultAvailable: true,
|
|
90
|
+
allowedStages: ['status', 'spec', 'plan', 'tasks', 'execute', 'ship', 'doctor'],
|
|
91
|
+
requiredEvidence: ['command output', 'state/event/artifact path when runtime changes'],
|
|
92
|
+
forbiddenUses: ['unapproved truth-alignment approval', 'automatic commit or push', 'background write orchestration']
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: 'validation-command',
|
|
96
|
+
title: 'Project validation commands',
|
|
97
|
+
category: 'validation',
|
|
98
|
+
summary: 'Run project-specific checks such as typecheck, tests, build, lint, or smoke commands.',
|
|
99
|
+
sideEffect: 'command_execution',
|
|
100
|
+
defaultAvailable: true,
|
|
101
|
+
allowedStages: ['execute', 'doctor'],
|
|
102
|
+
requiredEvidence: ['command name', 'pass/fail status', 'relevant output excerpt'],
|
|
103
|
+
forbiddenUses: ['skip failing checks without explanation', 'run destructive commands as validation', 'hide hook failures']
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: 'governance-policy',
|
|
107
|
+
title: 'Governance policy gate',
|
|
108
|
+
category: 'governance',
|
|
109
|
+
summary: 'Evaluate concurrency, confirmation, retry, cleanup, and risky-operation gates before runtime execution.',
|
|
110
|
+
sideEffect: 'read_only',
|
|
111
|
+
defaultAvailable: true,
|
|
112
|
+
allowedStages: ['status', 'execute', 'doctor'],
|
|
113
|
+
requiredEvidence: ['policy decision', 'blocked or confirmed operation reason', 'runtime event when execution is gated'],
|
|
114
|
+
forbiddenUses: ['auto approve destructive operations', 'bypass permission prompts', 'delete run history']
|
|
115
|
+
}
|
|
116
|
+
];
|
|
117
|
+
|
|
118
|
+
export async function listToolCapabilities(projectRoot: string): Promise<ToolCapabilityRegistry> {
|
|
119
|
+
await assertProjectConfigReadable(projectRoot);
|
|
120
|
+
return {
|
|
121
|
+
version: TOOL_CAPABILITY_REGISTRY_VERSION,
|
|
122
|
+
capabilities: [...BUILT_IN_TOOL_CAPABILITIES].sort((left, right) => left.id.localeCompare(right.id))
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export async function inspectToolCapability(projectRoot: string, capabilityId: string): Promise<ToolCapability | null> {
|
|
127
|
+
const registry = await listToolCapabilities(projectRoot);
|
|
128
|
+
return registry.capabilities.find((capability) => capability.id === capabilityId) ?? null;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
async function assertProjectConfigReadable(projectRoot: string): Promise<void> {
|
|
132
|
+
const configPath = getProjectConfigPath(projectRoot);
|
|
133
|
+
const raw = await readFile(configPath, 'utf8');
|
|
134
|
+
parseProjectConfig(raw, configPath);
|
|
135
|
+
}
|
|
@@ -1,132 +1,132 @@
|
|
|
1
|
-
import { readFile } from 'node:fs/promises';
|
|
2
|
-
import { parseProjectConfig } from '../config/project-config.js';
|
|
3
|
-
import { getProjectConfigPath } from '../runtime-paths.js';
|
|
4
|
-
|
|
5
|
-
export type ToolPluginEntryKind = 'cli' | 'adapter' | 'command' | 'manual';
|
|
6
|
-
export type ToolPluginLoadMode = 'static_manifest' | 'readonly_asset';
|
|
7
|
-
|
|
8
|
-
export interface ToolPluginContract {
|
|
9
|
-
id: string;
|
|
10
|
-
title: string;
|
|
11
|
-
version: string;
|
|
12
|
-
capabilityId: string;
|
|
13
|
-
entryKind: ToolPluginEntryKind;
|
|
14
|
-
assetPath: string;
|
|
15
|
-
loadMode: ToolPluginLoadMode;
|
|
16
|
-
checksum: string | null;
|
|
17
|
-
requiredEvidence: string[];
|
|
18
|
-
forbiddenUses: string[];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface ToolPluginContractRegistry {
|
|
22
|
-
version: string;
|
|
23
|
-
contracts: ToolPluginContract[];
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const TOOL_PLUGIN_CONTRACT_REGISTRY_VERSION = 'phase-3.2-tool-plugin-loading-contract-v1';
|
|
27
|
-
|
|
28
|
-
const BUILT_IN_TOOL_PLUGIN_CONTRACTS: ToolPluginContract[] = [
|
|
29
|
-
{
|
|
30
|
-
id: 'artifact-run-hygiene-tools',
|
|
31
|
-
title: 'Artifact/run hygiene tools contract',
|
|
32
|
-
version: '1.0.0',
|
|
33
|
-
capabilityId: 'artifact-run-hygiene',
|
|
34
|
-
entryKind: 'command',
|
|
35
|
-
assetPath: 'packages/core/src/index.ts#artifact-run-hygiene',
|
|
36
|
-
loadMode: 'static_manifest',
|
|
37
|
-
checksum: null,
|
|
38
|
-
requiredEvidence: ['sdd-result artifact', 'run event log', 'doctor report'],
|
|
39
|
-
forbiddenUses: ['dynamic plugin execution', 'delete run evidence', 'auto apply sync-back', 'background write orchestration']
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
id: 'browser-ui-check-adapter',
|
|
43
|
-
title: 'Browser UI check adapter contract',
|
|
44
|
-
version: '1.0.0',
|
|
45
|
-
capabilityId: 'browser-ui-check',
|
|
46
|
-
entryKind: 'manual',
|
|
47
|
-
assetPath: 'claude-code/browser-tools',
|
|
48
|
-
loadMode: 'readonly_asset',
|
|
49
|
-
checksum: null,
|
|
50
|
-
requiredEvidence: ['manual UI observation', 'console/network findings when relevant'],
|
|
51
|
-
forbiddenUses: ['dynamic browser automation plugin execution', 'destructive production actions', 'publish sensitive data to third-party tools']
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
id: 'git-local-inspection',
|
|
55
|
-
title: 'Local git inspection contract',
|
|
56
|
-
version: '1.0.0',
|
|
57
|
-
capabilityId: 'git-local',
|
|
58
|
-
entryKind: 'cli',
|
|
59
|
-
assetPath: 'git',
|
|
60
|
-
loadMode: 'readonly_asset',
|
|
61
|
-
checksum: null,
|
|
62
|
-
requiredEvidence: ['git status or diff summary when used for decisions'],
|
|
63
|
-
forbiddenUses: ['force push', 'destructive reset', 'delete branches without explicit approval', 'background write orchestration']
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
id: 'hashline-edit-adapter',
|
|
67
|
-
title: 'Hashline edit adapter contract',
|
|
68
|
-
version: '1.0.0',
|
|
69
|
-
capabilityId: 'hashline-edit',
|
|
70
|
-
entryKind: 'adapter',
|
|
71
|
-
assetPath: 'mcp:hashline-edit',
|
|
72
|
-
loadMode: 'readonly_asset',
|
|
73
|
-
checksum: null,
|
|
74
|
-
requiredEvidence: ['read anchors before edit', 'diff or readback after important edits'],
|
|
75
|
-
forbiddenUses: ['dynamic external plugin scan', 'retry stale anchors without rereading', 'overwrite unrelated user changes']
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
id: 'native-file-edit-adapter',
|
|
79
|
-
title: 'Native file edit adapter contract',
|
|
80
|
-
version: '1.0.0',
|
|
81
|
-
capabilityId: 'native-file-edit',
|
|
82
|
-
entryKind: 'adapter',
|
|
83
|
-
assetPath: 'claude-code:file-tools',
|
|
84
|
-
loadMode: 'readonly_asset',
|
|
85
|
-
checksum: null,
|
|
86
|
-
requiredEvidence: ['read before write', 'diff or readback after important edits'],
|
|
87
|
-
forbiddenUses: ['permission injection', 'overwrite existing files without reading', 'write secrets']
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
id: 'sdd-cli-runtime',
|
|
91
|
-
title: 'SDD CLI/runtime contract',
|
|
92
|
-
version: '1.0.0',
|
|
93
|
-
capabilityId: 'sdd-cli',
|
|
94
|
-
entryKind: 'cli',
|
|
95
|
-
assetPath: 'dist/packages/cli/src/main.js',
|
|
96
|
-
loadMode: 'static_manifest',
|
|
97
|
-
checksum: null,
|
|
98
|
-
requiredEvidence: ['command output', 'state/event/artifact path when runtime changes'],
|
|
99
|
-
forbiddenUses: ['dynamic plugin execution', 'unapproved complex sync-back apply', 'automatic commit or push', 'background write orchestration']
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
id: 'validation-command-runner',
|
|
103
|
-
title: 'Validation command runner contract',
|
|
104
|
-
version: '1.0.0',
|
|
105
|
-
capabilityId: 'validation-command',
|
|
106
|
-
entryKind: 'command',
|
|
107
|
-
assetPath: '.sdd/project.yml#validation.default',
|
|
108
|
-
loadMode: 'static_manifest',
|
|
109
|
-
checksum: null,
|
|
110
|
-
requiredEvidence: ['command name', 'pass/fail status', 'relevant output excerpt'],
|
|
111
|
-
forbiddenUses: ['dynamic plugin execution', 'run destructive commands as validation', 'hide hook failures']
|
|
112
|
-
}
|
|
113
|
-
];
|
|
114
|
-
|
|
115
|
-
export async function listToolPluginContracts(projectRoot: string): Promise<ToolPluginContractRegistry> {
|
|
116
|
-
await assertProjectConfigReadable(projectRoot);
|
|
117
|
-
return {
|
|
118
|
-
version: TOOL_PLUGIN_CONTRACT_REGISTRY_VERSION,
|
|
119
|
-
contracts: [...BUILT_IN_TOOL_PLUGIN_CONTRACTS].sort((left, right) => left.id.localeCompare(right.id))
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export async function inspectToolPluginContract(projectRoot: string, pluginId: string): Promise<ToolPluginContract | null> {
|
|
124
|
-
const registry = await listToolPluginContracts(projectRoot);
|
|
125
|
-
return registry.contracts.find((contract) => contract.id === pluginId) ?? null;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
async function assertProjectConfigReadable(projectRoot: string): Promise<void> {
|
|
129
|
-
const configPath = getProjectConfigPath(projectRoot);
|
|
130
|
-
const raw = await readFile(configPath, 'utf8');
|
|
131
|
-
parseProjectConfig(raw, configPath);
|
|
132
|
-
}
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { parseProjectConfig } from '../config/project-config.js';
|
|
3
|
+
import { getProjectConfigPath } from '../runtime-paths.js';
|
|
4
|
+
|
|
5
|
+
export type ToolPluginEntryKind = 'cli' | 'adapter' | 'command' | 'manual';
|
|
6
|
+
export type ToolPluginLoadMode = 'static_manifest' | 'readonly_asset';
|
|
7
|
+
|
|
8
|
+
export interface ToolPluginContract {
|
|
9
|
+
id: string;
|
|
10
|
+
title: string;
|
|
11
|
+
version: string;
|
|
12
|
+
capabilityId: string;
|
|
13
|
+
entryKind: ToolPluginEntryKind;
|
|
14
|
+
assetPath: string;
|
|
15
|
+
loadMode: ToolPluginLoadMode;
|
|
16
|
+
checksum: string | null;
|
|
17
|
+
requiredEvidence: string[];
|
|
18
|
+
forbiddenUses: string[];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface ToolPluginContractRegistry {
|
|
22
|
+
version: string;
|
|
23
|
+
contracts: ToolPluginContract[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const TOOL_PLUGIN_CONTRACT_REGISTRY_VERSION = 'phase-3.2-tool-plugin-loading-contract-v1';
|
|
27
|
+
|
|
28
|
+
const BUILT_IN_TOOL_PLUGIN_CONTRACTS: ToolPluginContract[] = [
|
|
29
|
+
{
|
|
30
|
+
id: 'artifact-run-hygiene-tools',
|
|
31
|
+
title: 'Artifact/run hygiene tools contract',
|
|
32
|
+
version: '1.0.0',
|
|
33
|
+
capabilityId: 'artifact-run-hygiene',
|
|
34
|
+
entryKind: 'command',
|
|
35
|
+
assetPath: 'packages/core/src/index.ts#artifact-run-hygiene',
|
|
36
|
+
loadMode: 'static_manifest',
|
|
37
|
+
checksum: null,
|
|
38
|
+
requiredEvidence: ['sdd-result artifact', 'run event log', 'doctor report'],
|
|
39
|
+
forbiddenUses: ['dynamic plugin execution', 'delete run evidence', 'auto apply sync-back', 'background write orchestration']
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: 'browser-ui-check-adapter',
|
|
43
|
+
title: 'Browser UI check adapter contract',
|
|
44
|
+
version: '1.0.0',
|
|
45
|
+
capabilityId: 'browser-ui-check',
|
|
46
|
+
entryKind: 'manual',
|
|
47
|
+
assetPath: 'claude-code/browser-tools',
|
|
48
|
+
loadMode: 'readonly_asset',
|
|
49
|
+
checksum: null,
|
|
50
|
+
requiredEvidence: ['manual UI observation', 'console/network findings when relevant'],
|
|
51
|
+
forbiddenUses: ['dynamic browser automation plugin execution', 'destructive production actions', 'publish sensitive data to third-party tools']
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: 'git-local-inspection',
|
|
55
|
+
title: 'Local git inspection contract',
|
|
56
|
+
version: '1.0.0',
|
|
57
|
+
capabilityId: 'git-local',
|
|
58
|
+
entryKind: 'cli',
|
|
59
|
+
assetPath: 'git',
|
|
60
|
+
loadMode: 'readonly_asset',
|
|
61
|
+
checksum: null,
|
|
62
|
+
requiredEvidence: ['git status or diff summary when used for decisions'],
|
|
63
|
+
forbiddenUses: ['force push', 'destructive reset', 'delete branches without explicit approval', 'background write orchestration']
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: 'hashline-edit-adapter',
|
|
67
|
+
title: 'Hashline edit adapter contract',
|
|
68
|
+
version: '1.0.0',
|
|
69
|
+
capabilityId: 'hashline-edit',
|
|
70
|
+
entryKind: 'adapter',
|
|
71
|
+
assetPath: 'mcp:hashline-edit',
|
|
72
|
+
loadMode: 'readonly_asset',
|
|
73
|
+
checksum: null,
|
|
74
|
+
requiredEvidence: ['read anchors before edit', 'diff or readback after important edits'],
|
|
75
|
+
forbiddenUses: ['dynamic external plugin scan', 'retry stale anchors without rereading', 'overwrite unrelated user changes']
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: 'native-file-edit-adapter',
|
|
79
|
+
title: 'Native file edit adapter contract',
|
|
80
|
+
version: '1.0.0',
|
|
81
|
+
capabilityId: 'native-file-edit',
|
|
82
|
+
entryKind: 'adapter',
|
|
83
|
+
assetPath: 'claude-code:file-tools',
|
|
84
|
+
loadMode: 'readonly_asset',
|
|
85
|
+
checksum: null,
|
|
86
|
+
requiredEvidence: ['read before write', 'diff or readback after important edits'],
|
|
87
|
+
forbiddenUses: ['permission injection', 'overwrite existing files without reading', 'write secrets']
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: 'sdd-cli-runtime',
|
|
91
|
+
title: 'SDD CLI/runtime contract',
|
|
92
|
+
version: '1.0.0',
|
|
93
|
+
capabilityId: 'sdd-cli',
|
|
94
|
+
entryKind: 'cli',
|
|
95
|
+
assetPath: 'dist/packages/cli/src/main.js',
|
|
96
|
+
loadMode: 'static_manifest',
|
|
97
|
+
checksum: null,
|
|
98
|
+
requiredEvidence: ['command output', 'state/event/artifact path when runtime changes'],
|
|
99
|
+
forbiddenUses: ['dynamic plugin execution', 'unapproved complex sync-back apply', 'automatic commit or push', 'background write orchestration']
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: 'validation-command-runner',
|
|
103
|
+
title: 'Validation command runner contract',
|
|
104
|
+
version: '1.0.0',
|
|
105
|
+
capabilityId: 'validation-command',
|
|
106
|
+
entryKind: 'command',
|
|
107
|
+
assetPath: '.sdd/project.yml#validation.default',
|
|
108
|
+
loadMode: 'static_manifest',
|
|
109
|
+
checksum: null,
|
|
110
|
+
requiredEvidence: ['command name', 'pass/fail status', 'relevant output excerpt'],
|
|
111
|
+
forbiddenUses: ['dynamic plugin execution', 'run destructive commands as validation', 'hide hook failures']
|
|
112
|
+
}
|
|
113
|
+
];
|
|
114
|
+
|
|
115
|
+
export async function listToolPluginContracts(projectRoot: string): Promise<ToolPluginContractRegistry> {
|
|
116
|
+
await assertProjectConfigReadable(projectRoot);
|
|
117
|
+
return {
|
|
118
|
+
version: TOOL_PLUGIN_CONTRACT_REGISTRY_VERSION,
|
|
119
|
+
contracts: [...BUILT_IN_TOOL_PLUGIN_CONTRACTS].sort((left, right) => left.id.localeCompare(right.id))
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export async function inspectToolPluginContract(projectRoot: string, pluginId: string): Promise<ToolPluginContract | null> {
|
|
124
|
+
const registry = await listToolPluginContracts(projectRoot);
|
|
125
|
+
return registry.contracts.find((contract) => contract.id === pluginId) ?? null;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
async function assertProjectConfigReadable(projectRoot: string): Promise<void> {
|
|
129
|
+
const configPath = getProjectConfigPath(projectRoot);
|
|
130
|
+
const raw = await readFile(configPath, 'utf8');
|
|
131
|
+
parseProjectConfig(raw, configPath);
|
|
132
|
+
}
|