agentic-orchestrator 0.1.6 → 0.1.8
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/.prettierignore +10 -0
- package/.prettierrc.json +24 -0
- package/CLAUDE.md +3 -2
- package/README.md +71 -48
- package/agentic/orchestrator/defaults/policy.defaults.yaml +1 -1
- package/agentic/orchestrator/prompts/planner.system.md +1 -0
- package/agentic/orchestrator/schemas/agents.schema.json +5 -22
- package/agentic/orchestrator/schemas/gates.schema.json +4 -19
- package/agentic/orchestrator/schemas/index.schema.json +3 -14
- package/agentic/orchestrator/schemas/multi-project.schema.json +2 -8
- package/agentic/orchestrator/schemas/plan.schema.json +6 -26
- package/agentic/orchestrator/schemas/policy.schema.json +19 -81
- package/agentic/orchestrator/schemas/policy.user.schema.json +1 -5
- package/agentic/orchestrator/schemas/qa_test_index.schema.json +5 -29
- package/agentic/orchestrator/schemas/state.schema.json +11 -61
- package/agentic/orchestrator/tools/catalog.json +33 -164
- package/agentic/orchestrator/tools/schemas/input/evidence.latest.input.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/input/feature.delete.input.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/input/feature.get_context.input.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/input/feature.init.input.schema.json +1 -4
- package/agentic/orchestrator/tools/schemas/input/feature.log_append.input.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/input/feature.ready_to_merge.input.schema.json +1 -6
- package/agentic/orchestrator/tools/schemas/input/feature.state_get.input.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/input/feature.state_patch.input.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/input/gates.run.input.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/input/locks.acquire.input.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/input/locks.release.input.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/input/performance.record_outcome.input.schema.json +10 -1
- package/agentic/orchestrator/tools/schemas/input/plan.get.input.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/input/plan.submit.input.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/input/plan.update.input.schema.json +1 -6
- package/agentic/orchestrator/tools/schemas/input/qa.test_index_get.input.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/input/qa.test_index_update.input.schema.json +1 -6
- package/agentic/orchestrator/tools/schemas/input/repo.apply_patch.input.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/input/repo.diff.input.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/input/repo.diff_bundle.input.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/input/repo.ensure_worktree.input.schema.json +1 -4
- package/agentic/orchestrator/tools/schemas/input/repo.read_file.input.schema.json +1 -4
- package/agentic/orchestrator/tools/schemas/input/repo.search.input.schema.json +1 -4
- package/agentic/orchestrator/tools/schemas/input/repo.status.input.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/input/report.feature_summary.input.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/output/collisions.scan.output.schema.json +1 -3
- package/agentic/orchestrator/tools/schemas/output/evidence.latest.output.schema.json +1 -4
- package/agentic/orchestrator/tools/schemas/output/feature.delete.output.schema.json +4 -20
- package/agentic/orchestrator/tools/schemas/output/feature.discover_specs.output.schema.json +2 -7
- package/agentic/orchestrator/tools/schemas/output/feature.get_context.output.schema.json +1 -8
- package/agentic/orchestrator/tools/schemas/output/feature.init.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/feature.log_append.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/feature.ready_to_merge.output.schema.json +1 -6
- package/agentic/orchestrator/tools/schemas/output/feature.state_get.output.schema.json +1 -4
- package/agentic/orchestrator/tools/schemas/output/feature.state_patch.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/gates.list.output.schema.json +2 -7
- package/agentic/orchestrator/tools/schemas/output/gates.run.output.schema.json +1 -8
- package/agentic/orchestrator/tools/schemas/output/locks.acquire.output.schema.json +1 -7
- package/agentic/orchestrator/tools/schemas/output/locks.release.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/performance.get_analytics.output.schema.json +22 -2
- package/agentic/orchestrator/tools/schemas/output/plan.get.output.schema.json +1 -4
- package/agentic/orchestrator/tools/schemas/output/plan.submit.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/plan.update.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/qa.test_index_get.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/qa.test_index_update.output.schema.json +1 -4
- package/agentic/orchestrator/tools/schemas/output/repo.apply_patch.output.schema.json +1 -6
- package/agentic/orchestrator/tools/schemas/output/repo.diff.output.schema.json +1 -4
- package/agentic/orchestrator/tools/schemas/output/repo.diff_bundle.output.schema.json +1 -7
- package/agentic/orchestrator/tools/schemas/output/repo.ensure_worktree.output.schema.json +1 -6
- package/agentic/orchestrator/tools/schemas/output/repo.read_file.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/repo.search.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/repo.status.output.schema.json +1 -5
- package/agentic/orchestrator/tools/schemas/output/report.dashboard.output.schema.json +1 -4
- package/apps/control-plane/scripts/validate-architecture-rules.mjs +16 -5
- package/apps/control-plane/scripts/validate-docker-mcp-contract.mjs +30 -8
- package/apps/control-plane/scripts/validate-mcp-contracts.ts +13 -7
- package/apps/control-plane/src/application/adapters/adapter-registry.ts +35 -15
- package/apps/control-plane/src/application/multi-project-loader.ts +27 -10
- package/apps/control-plane/src/application/services/activity-monitor-service.ts +26 -14
- package/apps/control-plane/src/application/services/collision-queue-service.ts +31 -17
- package/apps/control-plane/src/application/services/cost-tracking-service.ts +23 -16
- package/apps/control-plane/src/application/services/dependency-scheduler-service.ts +12 -4
- package/apps/control-plane/src/application/services/feature-deletion-service.ts +94 -58
- package/apps/control-plane/src/application/services/feature-lifecycle-service.ts +19 -13
- package/apps/control-plane/src/application/services/feature-state-service.ts +29 -19
- package/apps/control-plane/src/application/services/gate-interpolation-service.ts +7 -2
- package/apps/control-plane/src/application/services/gate-service.ts +64 -41
- package/apps/control-plane/src/application/services/instance-isolation-service.ts +1 -1
- package/apps/control-plane/src/application/services/issue-tracker-service.ts +49 -38
- package/apps/control-plane/src/application/services/lock-service.ts +75 -49
- package/apps/control-plane/src/application/services/merge-service.ts +91 -50
- package/apps/control-plane/src/application/services/notifier-service.ts +42 -20
- package/apps/control-plane/src/application/services/patch-service.ts +73 -44
- package/apps/control-plane/src/application/services/performance-analytics-service.ts +8 -6
- package/apps/control-plane/src/application/services/plan-service.ts +148 -89
- package/apps/control-plane/src/application/services/policy-loader-service.ts +10 -4
- package/apps/control-plane/src/application/services/pr-monitor-service.ts +33 -14
- package/apps/control-plane/src/application/services/qa-index-service.ts +20 -16
- package/apps/control-plane/src/application/services/reactions-service.ts +30 -15
- package/apps/control-plane/src/application/services/reporting-service.ts +16 -12
- package/apps/control-plane/src/application/services/run-lease-service.ts +138 -81
- package/apps/control-plane/src/application/tools/tool-metadata.ts +5 -5
- package/apps/control-plane/src/application/tools/tool-router.ts +6 -3
- package/apps/control-plane/src/cli/aop.ts +2 -2
- package/apps/control-plane/src/cli/attach-command-handler.ts +9 -9
- package/apps/control-plane/src/cli/cleanup-command-handler.ts +16 -11
- package/apps/control-plane/src/cli/cli-argument-parser.ts +6 -3
- package/apps/control-plane/src/cli/dashboard-command-handler.ts +28 -8
- package/apps/control-plane/src/cli/delete-command-handler.ts +7 -7
- package/apps/control-plane/src/cli/env-file.ts +115 -0
- package/apps/control-plane/src/cli/help-command-handler.ts +61 -32
- package/apps/control-plane/src/cli/init-command-handler.ts +182 -56
- package/apps/control-plane/src/cli/io.ts +7 -3
- package/apps/control-plane/src/cli/resume-command-handler.ts +21 -13
- package/apps/control-plane/src/cli/retry-command-handler.ts +12 -11
- package/apps/control-plane/src/cli/run-command-handler.ts +12 -8
- package/apps/control-plane/src/cli/send-command-handler.ts +6 -6
- package/apps/control-plane/src/cli/spec-ingestion-service.ts +14 -8
- package/apps/control-plane/src/cli/spec-input-resolver.ts +6 -1
- package/apps/control-plane/src/cli/spec-utils.ts +2 -2
- package/apps/control-plane/src/cli/status-command-handler.ts +13 -12
- package/apps/control-plane/src/cli/tooling.ts +3 -3
- package/apps/control-plane/src/cli/types.ts +1 -1
- package/apps/control-plane/src/core/collisions.ts +27 -10
- package/apps/control-plane/src/core/constants.ts +13 -7
- package/apps/control-plane/src/core/error-codes.ts +1 -1
- package/apps/control-plane/src/core/fs.ts +11 -5
- package/apps/control-plane/src/core/gates.ts +53 -27
- package/apps/control-plane/src/core/git.ts +18 -6
- package/apps/control-plane/src/core/kernel.ts +513 -227
- package/apps/control-plane/src/core/patch.ts +7 -3
- package/apps/control-plane/src/core/path-layout.ts +5 -1
- package/apps/control-plane/src/core/path-rules.ts +19 -5
- package/apps/control-plane/src/core/qa-index.ts +26 -12
- package/apps/control-plane/src/core/response.ts +9 -6
- package/apps/control-plane/src/core/schemas.ts +29 -10
- package/apps/control-plane/src/core/tool-caller.ts +1 -1
- package/apps/control-plane/src/core/workspace-hooks.ts +5 -5
- package/apps/control-plane/src/index.ts +3 -9
- package/apps/control-plane/src/interfaces/cli/bootstrap.ts +79 -35
- package/apps/control-plane/src/mcp/kernel-tool-executor.ts +7 -3
- package/apps/control-plane/src/mcp/mcp-server-adapter.ts +12 -10
- package/apps/control-plane/src/mcp/operation-ledger.ts +18 -8
- package/apps/control-plane/src/mcp/protocol-contract.ts +2 -2
- package/apps/control-plane/src/mcp/runtime-factory.ts +15 -6
- package/apps/control-plane/src/mcp/token-auth-verifier.ts +3 -2
- package/apps/control-plane/src/mcp/token-claims-validator.ts +11 -7
- package/apps/control-plane/src/mcp/tool-authorizer.ts +1 -3
- package/apps/control-plane/src/mcp/tool-client.ts +17 -5
- package/apps/control-plane/src/mcp/tool-contract-validator.ts +17 -8
- package/apps/control-plane/src/mcp/tool-registry-loader.ts +7 -3
- package/apps/control-plane/src/mcp/tool-runtime.ts +66 -39
- package/apps/control-plane/src/mcp/tools-markdown-generator.ts +6 -1
- package/apps/control-plane/src/providers/providers.ts +137 -54
- package/apps/control-plane/src/supervisor/build-wave-executor.ts +44 -25
- package/apps/control-plane/src/supervisor/planning-wave-executor.ts +46 -33
- package/apps/control-plane/src/supervisor/prompt-bundle-loader.ts +1 -1
- package/apps/control-plane/src/supervisor/qa-wave-executor.ts +38 -23
- package/apps/control-plane/src/supervisor/run-coordinator.ts +71 -36
- package/apps/control-plane/src/supervisor/runtime.ts +59 -35
- package/apps/control-plane/src/supervisor/session-orchestrator.ts +48 -31
- package/apps/control-plane/src/supervisor/types.ts +22 -7
- package/apps/control-plane/src/supervisor/worker-decision-loop.ts +30 -20
- package/apps/control-plane/test/activity-monitor.spec.ts +54 -30
- package/apps/control-plane/test/adapter-registry.spec.ts +5 -5
- package/apps/control-plane/test/aop.spec.ts +4 -4
- package/apps/control-plane/test/batch-operations.spec.ts +20 -18
- package/apps/control-plane/test/bootstrap-attach.spec.ts +52 -19
- package/apps/control-plane/test/bootstrap-edge-cases.spec.ts +58 -27
- package/apps/control-plane/test/bootstrap.spec.ts +72 -40
- package/apps/control-plane/test/cleanup-command.spec.ts +86 -32
- package/apps/control-plane/test/cli-helpers.spec.ts +119 -66
- package/apps/control-plane/test/cli.spec.ts +1 -1
- package/apps/control-plane/test/cli.unit.spec.ts +226 -167
- package/apps/control-plane/test/collision-queue.spec.ts +49 -40
- package/apps/control-plane/test/collisions.spec.ts +30 -30
- package/apps/control-plane/test/core-utils.spec.ts +29 -15
- package/apps/control-plane/test/cost-tracking.spec.ts +38 -22
- package/apps/control-plane/test/dashboard-api.integration.spec.ts +68 -36
- package/apps/control-plane/test/dashboard-client.spec.ts +18 -12
- package/apps/control-plane/test/dashboard-command.spec.ts +11 -7
- package/apps/control-plane/test/delete-command-handler.spec.ts +49 -41
- package/apps/control-plane/test/dependency-scheduler.spec.ts +47 -20
- package/apps/control-plane/test/epoch-tracking.spec.ts +9 -9
- package/apps/control-plane/test/feature-deletion-service.spec.ts +60 -52
- package/apps/control-plane/test/feature-lifecycle.spec.ts +36 -17
- package/apps/control-plane/test/gates.spec.ts +101 -81
- package/apps/control-plane/test/git-spawn-error.spec.ts +1 -1
- package/apps/control-plane/test/helpers.ts +10 -6
- package/apps/control-plane/test/incremental-gates.spec.ts +59 -20
- package/apps/control-plane/test/init-wizard.spec.ts +328 -68
- package/apps/control-plane/test/instance-isolation.spec.ts +43 -10
- package/apps/control-plane/test/issue-tracker.spec.ts +368 -128
- package/apps/control-plane/test/kernel-collision-replay.spec.ts +50 -29
- package/apps/control-plane/test/kernel.branches.spec.ts +64 -40
- package/apps/control-plane/test/kernel.coverage.spec.ts +85 -49
- package/apps/control-plane/test/kernel.coverage2.spec.ts +109 -65
- package/apps/control-plane/test/kernel.spec.ts +134 -51
- package/apps/control-plane/test/lock-service.spec.ts +92 -68
- package/apps/control-plane/test/mcp-helpers.spec.ts +53 -39
- package/apps/control-plane/test/mcp.spec.ts +231 -115
- package/apps/control-plane/test/merge-service.spec.ts +142 -94
- package/apps/control-plane/test/multi-project.spec.ts +28 -22
- package/apps/control-plane/test/notifier-service.spec.ts +136 -92
- package/apps/control-plane/test/parallel-gates.spec.ts +51 -35
- package/apps/control-plane/test/patch-service.spec.ts +128 -48
- package/apps/control-plane/test/performance-analytics.spec.ts +99 -63
- package/apps/control-plane/test/plan-service.spec.ts +50 -39
- package/apps/control-plane/test/planning-wave-executor.spec.ts +95 -71
- package/apps/control-plane/test/policy-loader-service.spec.ts +41 -19
- package/apps/control-plane/test/pr-monitor.spec.ts +113 -64
- package/apps/control-plane/test/providers.spec.ts +208 -104
- package/apps/control-plane/test/qa-index-service.spec.ts +31 -33
- package/apps/control-plane/test/qa-index.spec.ts +58 -61
- package/apps/control-plane/test/reactions.spec.ts +88 -45
- package/apps/control-plane/test/response.spec.ts +5 -5
- package/apps/control-plane/test/resume-command.spec.ts +121 -80
- package/apps/control-plane/test/run-coordinator.spec.ts +205 -136
- package/apps/control-plane/test/schema-date-time.spec.ts +49 -41
- package/apps/control-plane/test/service-retry-paths.spec.ts +77 -57
- package/apps/control-plane/test/services.spec.ts +147 -129
- package/apps/control-plane/test/session-management.spec.ts +136 -74
- package/apps/control-plane/test/spec-ingestion.spec.ts +23 -21
- package/apps/control-plane/test/spec-input-resolver.spec.ts +11 -10
- package/apps/control-plane/test/supervisor-collaborators.spec.ts +168 -121
- package/apps/control-plane/test/supervisor.calltool.spec.ts +21 -18
- package/apps/control-plane/test/supervisor.spec.ts +67 -43
- package/apps/control-plane/test/supervisor.unit.spec.ts +195 -126
- package/apps/control-plane/test/token-auth-verifier.spec.ts +29 -14
- package/apps/control-plane/test/tool-registry-loader.spec.ts +51 -27
- package/apps/control-plane/test/tool-runtime.spec.ts +63 -46
- package/apps/control-plane/test/worker-decision-loop.spec.ts +143 -122
- package/apps/control-plane/test/workspace-hooks.spec.ts +61 -23
- package/apps/control-plane/tsconfig.build.json +2 -7
- package/apps/control-plane/tsconfig.json +1 -5
- package/apps/control-plane/vitest.config.ts +7 -7
- package/config/agentic/orchestrator/adapters.yaml +3 -0
- package/config/agentic/orchestrator/agents.yaml +14 -0
- package/config/agentic/orchestrator/gates.yaml +28 -0
- package/config/agentic/orchestrator/policy.yaml +22 -0
- package/config/agentic/orchestrator/prompts/builder.system.md +1 -0
- package/config/agentic/orchestrator/prompts/planner.system.md +16 -0
- package/config/agentic/orchestrator/prompts/qa.system.md +1 -0
- package/dist/apps/control-plane/application/adapters/adapter-registry.js +12 -5
- package/dist/apps/control-plane/application/adapters/adapter-registry.js.map +1 -1
- package/dist/apps/control-plane/application/multi-project-loader.js +26 -9
- package/dist/apps/control-plane/application/multi-project-loader.js.map +1 -1
- package/dist/apps/control-plane/application/services/activity-monitor-service.js +7 -7
- package/dist/apps/control-plane/application/services/activity-monitor-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/collision-queue-service.js +7 -7
- package/dist/apps/control-plane/application/services/collision-queue-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/cost-tracking-service.js +6 -8
- package/dist/apps/control-plane/application/services/cost-tracking-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/dependency-scheduler-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/feature-deletion-service.js +37 -29
- package/dist/apps/control-plane/application/services/feature-deletion-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/feature-lifecycle-service.js +10 -10
- package/dist/apps/control-plane/application/services/feature-lifecycle-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/feature-state-service.js +11 -11
- package/dist/apps/control-plane/application/services/feature-state-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/gate-interpolation-service.js +3 -1
- package/dist/apps/control-plane/application/services/gate-interpolation-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/gate-service.js +26 -26
- package/dist/apps/control-plane/application/services/gate-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/instance-isolation-service.js +1 -1
- package/dist/apps/control-plane/application/services/instance-isolation-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/issue-tracker-service.js +25 -15
- package/dist/apps/control-plane/application/services/issue-tracker-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/lock-service.js +32 -32
- package/dist/apps/control-plane/application/services/lock-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/merge-service.js +41 -27
- package/dist/apps/control-plane/application/services/merge-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/notifier-service.js +29 -15
- package/dist/apps/control-plane/application/services/notifier-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/patch-service.js +21 -19
- package/dist/apps/control-plane/application/services/patch-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/performance-analytics-service.js +4 -4
- package/dist/apps/control-plane/application/services/performance-analytics-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/plan-service.js +33 -33
- package/dist/apps/control-plane/application/services/plan-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/policy-loader-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/pr-monitor-service.js +23 -11
- package/dist/apps/control-plane/application/services/pr-monitor-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/qa-index-service.js +11 -11
- package/dist/apps/control-plane/application/services/qa-index-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/reactions-service.js +13 -9
- package/dist/apps/control-plane/application/services/reactions-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/reporting-service.js +11 -9
- package/dist/apps/control-plane/application/services/reporting-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/run-lease-service.js +34 -33
- package/dist/apps/control-plane/application/services/run-lease-service.js.map +1 -1
- package/dist/apps/control-plane/application/tools/tool-metadata.js +2 -2
- package/dist/apps/control-plane/application/tools/tool-router.js.map +1 -1
- package/dist/apps/control-plane/cli/attach-command-handler.js +9 -9
- package/dist/apps/control-plane/cli/cleanup-command-handler.js +11 -9
- package/dist/apps/control-plane/cli/cleanup-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/cli-argument-parser.js +4 -3
- package/dist/apps/control-plane/cli/cli-argument-parser.js.map +1 -1
- package/dist/apps/control-plane/cli/dashboard-command-handler.js +23 -7
- package/dist/apps/control-plane/cli/dashboard-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/delete-command-handler.js +7 -7
- package/dist/apps/control-plane/cli/env-file.d.ts +4 -0
- package/dist/apps/control-plane/cli/env-file.js +89 -0
- package/dist/apps/control-plane/cli/env-file.js.map +1 -0
- package/dist/apps/control-plane/cli/help-command-handler.js +58 -30
- package/dist/apps/control-plane/cli/help-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/init-command-handler.js +97 -37
- package/dist/apps/control-plane/cli/init-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/io.js +2 -2
- package/dist/apps/control-plane/cli/io.js.map +1 -1
- package/dist/apps/control-plane/cli/resume-command-handler.js +9 -9
- package/dist/apps/control-plane/cli/resume-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/retry-command-handler.js +12 -11
- package/dist/apps/control-plane/cli/retry-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/run-command-handler.js +12 -8
- package/dist/apps/control-plane/cli/run-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/send-command-handler.js +6 -6
- package/dist/apps/control-plane/cli/spec-ingestion-service.js +10 -8
- package/dist/apps/control-plane/cli/spec-ingestion-service.js.map +1 -1
- package/dist/apps/control-plane/cli/spec-input-resolver.js.map +1 -1
- package/dist/apps/control-plane/cli/spec-utils.js.map +1 -1
- package/dist/apps/control-plane/cli/status-command-handler.js +8 -8
- package/dist/apps/control-plane/cli/status-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/tooling.js +1 -1
- package/dist/apps/control-plane/core/collisions.js +11 -8
- package/dist/apps/control-plane/core/collisions.js.map +1 -1
- package/dist/apps/control-plane/core/constants.js +13 -7
- package/dist/apps/control-plane/core/constants.js.map +1 -1
- package/dist/apps/control-plane/core/error-codes.js +1 -1
- package/dist/apps/control-plane/core/fs.js.map +1 -1
- package/dist/apps/control-plane/core/gates.d.ts +2 -2
- package/dist/apps/control-plane/core/gates.js +26 -19
- package/dist/apps/control-plane/core/gates.js.map +1 -1
- package/dist/apps/control-plane/core/git.js +3 -3
- package/dist/apps/control-plane/core/git.js.map +1 -1
- package/dist/apps/control-plane/core/kernel.d.ts +1 -0
- package/dist/apps/control-plane/core/kernel.js +134 -81
- package/dist/apps/control-plane/core/kernel.js.map +1 -1
- package/dist/apps/control-plane/core/patch.js +7 -3
- package/dist/apps/control-plane/core/patch.js.map +1 -1
- package/dist/apps/control-plane/core/path-layout.d.ts +1 -0
- package/dist/apps/control-plane/core/path-layout.js +4 -1
- package/dist/apps/control-plane/core/path-layout.js.map +1 -1
- package/dist/apps/control-plane/core/path-rules.js +3 -1
- package/dist/apps/control-plane/core/path-rules.js.map +1 -1
- package/dist/apps/control-plane/core/qa-index.js +5 -5
- package/dist/apps/control-plane/core/qa-index.js.map +1 -1
- package/dist/apps/control-plane/core/response.js +3 -3
- package/dist/apps/control-plane/core/response.js.map +1 -1
- package/dist/apps/control-plane/core/schemas.js +10 -6
- package/dist/apps/control-plane/core/schemas.js.map +1 -1
- package/dist/apps/control-plane/core/workspace-hooks.js +3 -3
- package/dist/apps/control-plane/index.d.ts +1 -1
- package/dist/apps/control-plane/index.js +1 -1
- package/dist/apps/control-plane/index.js.map +1 -1
- package/dist/apps/control-plane/interfaces/cli/bootstrap.js +40 -23
- package/dist/apps/control-plane/interfaces/cli/bootstrap.js.map +1 -1
- package/dist/apps/control-plane/mcp/kernel-tool-executor.js +1 -1
- package/dist/apps/control-plane/mcp/kernel-tool-executor.js.map +1 -1
- package/dist/apps/control-plane/mcp/mcp-server-adapter.js +6 -7
- package/dist/apps/control-plane/mcp/mcp-server-adapter.js.map +1 -1
- package/dist/apps/control-plane/mcp/operation-ledger.js +5 -5
- package/dist/apps/control-plane/mcp/operation-ledger.js.map +1 -1
- package/dist/apps/control-plane/mcp/protocol-contract.js +2 -2
- package/dist/apps/control-plane/mcp/runtime-factory.js +2 -2
- package/dist/apps/control-plane/mcp/runtime-factory.js.map +1 -1
- package/dist/apps/control-plane/mcp/token-auth-verifier.js +1 -1
- package/dist/apps/control-plane/mcp/token-auth-verifier.js.map +1 -1
- package/dist/apps/control-plane/mcp/token-claims-validator.js +5 -5
- package/dist/apps/control-plane/mcp/token-claims-validator.js.map +1 -1
- package/dist/apps/control-plane/mcp/tool-authorizer.js +1 -3
- package/dist/apps/control-plane/mcp/tool-authorizer.js.map +1 -1
- package/dist/apps/control-plane/mcp/tool-client.js +2 -2
- package/dist/apps/control-plane/mcp/tool-client.js.map +1 -1
- package/dist/apps/control-plane/mcp/tool-contract-validator.js +3 -3
- package/dist/apps/control-plane/mcp/tool-contract-validator.js.map +1 -1
- package/dist/apps/control-plane/mcp/tool-registry-loader.js +1 -1
- package/dist/apps/control-plane/mcp/tool-registry-loader.js.map +1 -1
- package/dist/apps/control-plane/mcp/tool-runtime.js +17 -17
- package/dist/apps/control-plane/mcp/tool-runtime.js.map +1 -1
- package/dist/apps/control-plane/mcp/tools-markdown-generator.js +6 -1
- package/dist/apps/control-plane/mcp/tools-markdown-generator.js.map +1 -1
- package/dist/apps/control-plane/providers/providers.d.ts +3 -2
- package/dist/apps/control-plane/providers/providers.js +81 -39
- package/dist/apps/control-plane/providers/providers.js.map +1 -1
- package/dist/apps/control-plane/supervisor/build-wave-executor.js +12 -12
- package/dist/apps/control-plane/supervisor/build-wave-executor.js.map +1 -1
- package/dist/apps/control-plane/supervisor/planning-wave-executor.js +19 -16
- package/dist/apps/control-plane/supervisor/planning-wave-executor.js.map +1 -1
- package/dist/apps/control-plane/supervisor/prompt-bundle-loader.js +1 -1
- package/dist/apps/control-plane/supervisor/qa-wave-executor.js +13 -13
- package/dist/apps/control-plane/supervisor/qa-wave-executor.js.map +1 -1
- package/dist/apps/control-plane/supervisor/run-coordinator.js +37 -20
- package/dist/apps/control-plane/supervisor/run-coordinator.js.map +1 -1
- package/dist/apps/control-plane/supervisor/runtime.js +25 -21
- package/dist/apps/control-plane/supervisor/runtime.js.map +1 -1
- package/dist/apps/control-plane/supervisor/session-orchestrator.js +29 -23
- package/dist/apps/control-plane/supervisor/session-orchestrator.js.map +1 -1
- package/dist/apps/control-plane/supervisor/types.d.ts +3 -3
- package/dist/apps/control-plane/supervisor/types.js.map +1 -1
- package/dist/apps/control-plane/supervisor/worker-decision-loop.js +14 -16
- package/dist/apps/control-plane/supervisor/worker-decision-loop.js.map +1 -1
- package/eslint.config.mjs +20 -20
- package/example-configurations/README.md +1 -1
- package/example-configurations/java/agents.yaml +3 -3
- package/example-configurations/java/policy.yaml +1 -1
- package/example-configurations/node/agents.yaml +3 -3
- package/example-configurations/node/policy.yaml +1 -1
- package/package.json +10 -5
- package/packages/web-dashboard/next.config.js +2 -2
- package/packages/web-dashboard/src/app/api/actions/route.ts +25 -9
- package/packages/web-dashboard/src/app/api/events/route.ts +20 -6
- package/packages/web-dashboard/src/app/api/features/[id]/checkout/route.ts +88 -37
- package/packages/web-dashboard/src/app/api/features/[id]/evidence/[artifact]/route.ts +8 -5
- package/packages/web-dashboard/src/app/api/features/[id]/review/route.ts +27 -9
- package/packages/web-dashboard/src/app/api/features/[id]/route.ts +5 -2
- package/packages/web-dashboard/src/app/api/projects/route.ts +5 -5
- package/packages/web-dashboard/src/app/globals.css +10 -2
- package/packages/web-dashboard/src/app/page.tsx +100 -37
- package/packages/web-dashboard/src/lib/aop-client.ts +68 -37
- package/packages/web-dashboard/src/lib/multi-project-config.ts +28 -7
- package/packages/web-dashboard/src/lib/orchestrator-tools.ts +59 -36
- package/packages/web-dashboard/tsconfig.json +3 -11
- package/scripts/nx-safe.mjs +10 -10
- package/spec-files/completed/agentic_orchestrator_cli_delete_command_spec.md +5 -0
- package/spec-files/completed/agentic_orchestrator_feature_gaps_closure_spec.md +189 -90
- package/spec-files/completed/agentic_orchestrator_init_policy_ux_simplification_spec.md +49 -16
- package/spec-files/completed/agentic_orchestrator_mcp_formalization_spec.md +24 -1
- package/spec-files/completed/agentic_orchestrator_single_global_orchestrator_spec.md +9 -0
- package/spec-files/completed/agentic_orchestrator_spec.md +171 -75
- package/spec-files/completed/agentic_orchestrator_validator_hardening_spec.md +25 -17
- package/spec-files/outstanding/agentic_orchestrator_artifact_database_publishing_spec.md +40 -5
- package/spec-files/outstanding/agentic_orchestrator_enterprise_governance_dashboard_spec.md +23 -12
- package/spec-files/outstanding/agentic_orchestrator_knowledge_canary_spec.md +16 -4
- package/spec-files/outstanding/agentic_orchestrator_observability_integrity_diagnostics_spec.md +42 -2
- package/spec-files/outstanding/agentic_orchestrator_performance_improvements_spec.md +209 -130
- package/spec-files/outstanding/agentic_orchestrator_planning_review_quality_spec.md +56 -3
- package/spec-files/outstanding/agentic_orchestrator_productization_commercial_spec.md +77 -10
- package/spec-files/outstanding/agentic_orchestrator_provider_auth_bootstrap_spec.md +384 -0
- package/spec-files/outstanding/agentic_orchestrator_quality_adoption_execution_spec.md +29 -14
- package/spec-files/progress.md +186 -175
- package/tsconfig.json +2 -8
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
### 0.1 Required Standards
|
|
15
15
|
|
|
16
16
|
All implementation MUST preserve:
|
|
17
|
+
|
|
17
18
|
- deterministic runtime behavior and MCP contract semantics
|
|
18
19
|
- existing CLI command names (`aop init`, `aop run`, etc.)
|
|
19
20
|
- schema validation as a hard gate for loaded policy
|
|
@@ -23,6 +24,7 @@ All implementation MUST preserve:
|
|
|
23
24
|
### 0.2 Upstream Inputs
|
|
24
25
|
|
|
25
26
|
Implementing agents MUST read:
|
|
27
|
+
|
|
26
28
|
- `apps/control-plane/src/cli/init-command-handler.ts`
|
|
27
29
|
- `apps/control-plane/src/cli/cli-argument-parser.ts`
|
|
28
30
|
- `apps/control-plane/src/cli/types.ts`
|
|
@@ -38,6 +40,7 @@ Implementing agents MUST read:
|
|
|
38
40
|
### 0.3 Current Baseline (Already Implemented in M39 Pre-Work)
|
|
39
41
|
|
|
40
42
|
As of 2026-03-03, these pieces are already done:
|
|
43
|
+
|
|
41
44
|
- `aop init` no longer copies schema files into target repos.
|
|
42
45
|
- schema loading can fall back to bundled AOP schemas when repo-local schemas are absent.
|
|
43
46
|
- `aop init` captures provider/model/SCM defaults.
|
|
@@ -89,6 +92,7 @@ Default users should configure only common controls; advanced users can opt into
|
|
|
89
92
|
### ADP-1: Defaults-First Policy Composition
|
|
90
93
|
|
|
91
94
|
Runtime will always build a canonical full policy by:
|
|
95
|
+
|
|
92
96
|
1. loading bundled `policy.defaults.yaml`,
|
|
93
97
|
2. loading user `agentic/orchestrator/policy.yaml`,
|
|
94
98
|
3. deep-merging user overrides over defaults,
|
|
@@ -105,6 +109,7 @@ Default `aop init` generates lean policy.
|
|
|
105
109
|
### ADP-3: Deterministic Merge Semantics
|
|
106
110
|
|
|
107
111
|
Policy merge must use deterministic rules:
|
|
112
|
+
|
|
108
113
|
- scalar values: override defaults
|
|
109
114
|
- objects: recursive merge
|
|
110
115
|
- arrays: replace when key exists in user policy
|
|
@@ -114,6 +119,7 @@ Policy merge must use deterministic rules:
|
|
|
114
119
|
### ADP-4: Validation of User Shape + Canonical Shape
|
|
115
120
|
|
|
116
121
|
Two validations are required:
|
|
122
|
+
|
|
117
123
|
1. optional user-shape validation (`policy.user.schema.json`) for clearer authoring errors
|
|
118
124
|
2. mandatory canonical full validation (`policy.schema.json`) after merge
|
|
119
125
|
|
|
@@ -126,6 +132,7 @@ If user-shape validation is omitted for MVP, canonical full validation remains m
|
|
|
126
132
|
### 4.1 Default `aop init` Output (Lean Policy)
|
|
127
133
|
|
|
128
134
|
Lean policy should include only common knobs:
|
|
135
|
+
|
|
129
136
|
- `version`
|
|
130
137
|
- `worktree.base_branch`
|
|
131
138
|
- `supervisor.max_parallel_gate_runs`
|
|
@@ -155,11 +162,11 @@ notifications:
|
|
|
155
162
|
enabled: false
|
|
156
163
|
slack:
|
|
157
164
|
enabled: false
|
|
158
|
-
webhook:
|
|
159
|
-
channel:
|
|
165
|
+
webhook: ''
|
|
166
|
+
channel: '#aop-alerts'
|
|
160
167
|
webhook:
|
|
161
168
|
enabled: false
|
|
162
|
-
url:
|
|
169
|
+
url: ''
|
|
163
170
|
```
|
|
164
171
|
|
|
165
172
|
### 4.2 Advanced `aop init --advanced-policy` Output
|
|
@@ -169,6 +176,7 @@ Generates current fully expanded `policy.yaml` template with all advanced fields
|
|
|
169
176
|
### 4.3 Init Prompt Surface
|
|
170
177
|
|
|
171
178
|
Interactive wizard continues to collect:
|
|
179
|
+
|
|
172
180
|
- default provider
|
|
173
181
|
- default model
|
|
174
182
|
- SCM provider
|
|
@@ -179,6 +187,7 @@ Interactive wizard continues to collect:
|
|
|
179
187
|
- framework for gates
|
|
180
188
|
|
|
181
189
|
`adapters.yaml` activity-detector mapping:
|
|
190
|
+
|
|
182
191
|
- `claude` -> `claude-jsonl`
|
|
183
192
|
- `codex` -> `codex-rpc`
|
|
184
193
|
- everything else -> `process-heuristic`
|
|
@@ -192,12 +201,14 @@ Interactive wizard continues to collect:
|
|
|
192
201
|
### INIT-T-001: Add Advanced Policy CLI Flag
|
|
193
202
|
|
|
194
203
|
**Files:**
|
|
204
|
+
|
|
195
205
|
- `apps/control-plane/src/cli/types.ts`
|
|
196
206
|
- `apps/control-plane/src/cli/cli-argument-parser.ts`
|
|
197
207
|
- `apps/control-plane/src/cli/help-command-handler.ts`
|
|
198
208
|
- `apps/control-plane/src/interfaces/cli/bootstrap.ts`
|
|
199
209
|
|
|
200
210
|
**Changes:**
|
|
211
|
+
|
|
201
212
|
- add `advanced_policy?: boolean` to `CliOptions`
|
|
202
213
|
- parse `--advanced-policy`
|
|
203
214
|
- pass through to `InitCommandHandler.execute({ auto, force, advanced_policy })`
|
|
@@ -208,6 +219,7 @@ Interactive wizard continues to collect:
|
|
|
208
219
|
**File:** `apps/control-plane/src/cli/init-command-handler.ts`
|
|
209
220
|
|
|
210
221
|
**Changes:**
|
|
222
|
+
|
|
211
223
|
- add `advanced_policy?: boolean` to `InitOptions`
|
|
212
224
|
- branch policy template generation:
|
|
213
225
|
- `advanced_policy === true` -> full template
|
|
@@ -218,6 +230,7 @@ Interactive wizard continues to collect:
|
|
|
218
230
|
**File:** `apps/control-plane/src/cli/init-command-handler.ts`
|
|
219
231
|
|
|
220
232
|
**Changes:**
|
|
233
|
+
|
|
221
234
|
- keep existing full generator as `generateFullPolicyYaml(...)`
|
|
222
235
|
- add `generateLeanPolicyYaml(...)`
|
|
223
236
|
- keep `gates.yaml`, `agents.yaml`, `adapters.yaml`, prompts generation unchanged
|
|
@@ -229,15 +242,18 @@ Interactive wizard continues to collect:
|
|
|
229
242
|
### INIT-T-004: Add Bundled Defaults Artifact
|
|
230
243
|
|
|
231
244
|
**New file:**
|
|
245
|
+
|
|
232
246
|
- `agentic/orchestrator/defaults/policy.defaults.yaml`
|
|
233
247
|
|
|
234
248
|
**Requirements:**
|
|
249
|
+
|
|
235
250
|
- this file represents canonical defaults equivalent to current full template semantics
|
|
236
251
|
- should be versioned and reviewed like other bundled contracts
|
|
237
252
|
|
|
238
253
|
### INIT-T-005: Implement Policy Composition Loader
|
|
239
254
|
|
|
240
255
|
**New file (recommended):**
|
|
256
|
+
|
|
241
257
|
- `apps/control-plane/src/application/services/policy-loader-service.ts`
|
|
242
258
|
|
|
243
259
|
**Interface (suggested):**
|
|
@@ -248,10 +264,15 @@ interface LoadPolicyResult {
|
|
|
248
264
|
mergedPolicy: Record<string, unknown>;
|
|
249
265
|
}
|
|
250
266
|
|
|
251
|
-
async function loadComposedPolicy(
|
|
267
|
+
async function loadComposedPolicy(
|
|
268
|
+
repoRoot: string,
|
|
269
|
+
policyPath: string,
|
|
270
|
+
schemaRegistry: SchemaRegistry,
|
|
271
|
+
): Promise<LoadPolicyResult>;
|
|
252
272
|
```
|
|
253
273
|
|
|
254
274
|
**Behavior:**
|
|
275
|
+
|
|
255
276
|
- read defaults YAML (bundled path, not repo path)
|
|
256
277
|
- read user policy YAML (repo path)
|
|
257
278
|
- deep merge according to ADP-3 semantics
|
|
@@ -308,13 +329,16 @@ function mergePolicy(defaults: unknown, user: unknown): unknown {
|
|
|
308
329
|
### INIT-T-007: Optional User-Shape Schema
|
|
309
330
|
|
|
310
331
|
**New file (optional but recommended):**
|
|
332
|
+
|
|
311
333
|
- `agentic/orchestrator/schemas/policy.user.schema.json`
|
|
312
334
|
|
|
313
335
|
**Purpose:**
|
|
336
|
+
|
|
314
337
|
- validate lean authoring keys for better error messages before merge
|
|
315
338
|
- canonical enforcement still happens via full schema on merged result
|
|
316
339
|
|
|
317
340
|
**Schema policy:**
|
|
341
|
+
|
|
318
342
|
- `additionalProperties: false` at top level for lean mode.
|
|
319
343
|
- explicitly allow only intended user-editable sections.
|
|
320
344
|
- do not include internal sections (`locks`, `rbac`, `config_precedence`, etc.) in lean schema.
|
|
@@ -326,11 +350,13 @@ function mergePolicy(defaults: unknown, user: unknown): unknown {
|
|
|
326
350
|
### INIT-T-008: Documentation Updates
|
|
327
351
|
|
|
328
352
|
**Files:**
|
|
353
|
+
|
|
329
354
|
- `README.md`
|
|
330
355
|
- `agentic/orchestrator/tools.md` (if references policy generation behavior)
|
|
331
356
|
- any init command docs/examples
|
|
332
357
|
|
|
333
358
|
**Documentation requirements:**
|
|
359
|
+
|
|
334
360
|
- clearly separate “common config” vs “advanced policy config”
|
|
335
361
|
- add `--advanced-policy` usage examples
|
|
336
362
|
- document merge semantics and where defaults live
|
|
@@ -340,6 +366,7 @@ function mergePolicy(defaults: unknown, user: unknown): unknown {
|
|
|
340
366
|
**File:** `apps/control-plane/src/cli/init-command-handler.ts`
|
|
341
367
|
|
|
342
368
|
**Changes:**
|
|
369
|
+
|
|
343
370
|
- `next_steps` output should state whether lean or advanced policy was generated
|
|
344
371
|
- mention `--advanced-policy` as escape hatch when lean mode is used
|
|
345
372
|
|
|
@@ -347,18 +374,18 @@ function mergePolicy(defaults: unknown, user: unknown): unknown {
|
|
|
347
374
|
|
|
348
375
|
## 6. File-Level Delta Matrix
|
|
349
376
|
|
|
350
|
-
| File
|
|
351
|
-
|
|
352
|
-
| `apps/control-plane/src/cli/types.ts`
|
|
353
|
-
| `apps/control-plane/src/cli/cli-argument-parser.ts`
|
|
354
|
-
| `apps/control-plane/src/cli/help-command-handler.ts`
|
|
355
|
-
| `apps/control-plane/src/interfaces/cli/bootstrap.ts`
|
|
356
|
-
| `apps/control-plane/src/cli/init-command-handler.ts`
|
|
357
|
-
| `apps/control-plane/src/core/kernel.ts`
|
|
358
|
-
| `apps/control-plane/src/application/services/policy-loader-service.ts` | add
|
|
359
|
-
| `agentic/orchestrator/defaults/policy.defaults.yaml`
|
|
360
|
-
| `agentic/orchestrator/schemas/policy.user.schema.json`
|
|
361
|
-
| `README.md`
|
|
377
|
+
| File | Change Type | Scope |
|
|
378
|
+
| ---------------------------------------------------------------------- | -------------- | --------------------------------- |
|
|
379
|
+
| `apps/control-plane/src/cli/types.ts` | modify | add `advanced_policy` option |
|
|
380
|
+
| `apps/control-plane/src/cli/cli-argument-parser.ts` | modify | parse `--advanced-policy` |
|
|
381
|
+
| `apps/control-plane/src/cli/help-command-handler.ts` | modify | help text for new flag |
|
|
382
|
+
| `apps/control-plane/src/interfaces/cli/bootstrap.ts` | modify | pass flag into init handler |
|
|
383
|
+
| `apps/control-plane/src/cli/init-command-handler.ts` | modify | lean/full policy generation |
|
|
384
|
+
| `apps/control-plane/src/core/kernel.ts` | modify | use composed policy loader |
|
|
385
|
+
| `apps/control-plane/src/application/services/policy-loader-service.ts` | add | defaults + user merge + validate |
|
|
386
|
+
| `agentic/orchestrator/defaults/policy.defaults.yaml` | add | bundled canonical defaults |
|
|
387
|
+
| `agentic/orchestrator/schemas/policy.user.schema.json` | add (optional) | lean user policy shape |
|
|
388
|
+
| `README.md` | modify | init UX and policy authoring docs |
|
|
362
389
|
|
|
363
390
|
---
|
|
364
391
|
|
|
@@ -393,6 +420,7 @@ function mergePolicy(defaults: unknown, user: unknown): unknown {
|
|
|
393
420
|
**File:** `apps/control-plane/test/init-wizard.spec.ts`
|
|
394
421
|
|
|
395
422
|
Add:
|
|
423
|
+
|
|
396
424
|
- `GIVEN_default_init_WHEN_policy_generated_THEN_policy_is_lean_shape`
|
|
397
425
|
- `GIVEN_advanced_policy_flag_WHEN_policy_generated_THEN_policy_is_full_shape`
|
|
398
426
|
- `GIVEN_advanced_policy_flag_WHEN_help_rendered_THEN_flag_is_documented`
|
|
@@ -402,6 +430,7 @@ Add:
|
|
|
402
430
|
**New file:** `apps/control-plane/test/policy-loader-service.spec.ts`
|
|
403
431
|
|
|
404
432
|
Add:
|
|
433
|
+
|
|
405
434
|
- `GIVEN_defaults_and_lean_user_policy_WHEN_composed_THEN_merged_policy_is_valid`
|
|
406
435
|
- `GIVEN_full_user_policy_WHEN_composed_THEN_user_values_override_defaults`
|
|
407
436
|
- `GIVEN_array_override_WHEN_composed_THEN_array_replaces_default_array`
|
|
@@ -412,12 +441,14 @@ Add:
|
|
|
412
441
|
**File:** `apps/control-plane/test/kernel.spec.ts`
|
|
413
442
|
|
|
414
443
|
Add:
|
|
444
|
+
|
|
415
445
|
- `GIVEN_lean_policy_repo_WHEN_kernel_loads_THEN_runtime_boots_successfully`
|
|
416
446
|
- `GIVEN_full_policy_repo_WHEN_kernel_loads_THEN_runtime_boots_successfully`
|
|
417
447
|
|
|
418
448
|
### 8.4 Regression Test Runs
|
|
419
449
|
|
|
420
450
|
Required run list:
|
|
451
|
+
|
|
421
452
|
- `npm run lint`
|
|
422
453
|
- `npm run typecheck`
|
|
423
454
|
- `npm test`
|
|
@@ -427,6 +458,7 @@ Required run list:
|
|
|
427
458
|
### 8.5 Determinism and Edge Cases (Required)
|
|
428
459
|
|
|
429
460
|
Add explicit tests for:
|
|
461
|
+
|
|
430
462
|
- merge determinism with object key order differences (same result hash)
|
|
431
463
|
- array replacement semantics for `required_modes` and `protected_areas`
|
|
432
464
|
- missing defaults artifact error path (clear actionable message)
|
|
@@ -467,6 +499,7 @@ Document lean default and advanced mode; include migration note for teams that p
|
|
|
467
499
|
## 11. Definition of Done
|
|
468
500
|
|
|
469
501
|
This spec is complete when:
|
|
502
|
+
|
|
470
503
|
1. INIT-T-001 through INIT-T-009 are implemented.
|
|
471
504
|
2. acceptance criteria in Section 7 are all checked.
|
|
472
505
|
3. test plan in Section 8 passes in CI.
|
|
@@ -82,6 +82,7 @@ All mutating tools MUST require `operation_id`.
|
|
|
82
82
|
### 3.5 Hybrid Transport Rollout
|
|
83
83
|
|
|
84
84
|
`ToolClient` abstraction is mandatory:
|
|
85
|
+
|
|
85
86
|
- `InProcessToolClient` for tests/fallback.
|
|
86
87
|
- `McpToolClient` for production path.
|
|
87
88
|
|
|
@@ -109,6 +110,7 @@ agentic/
|
|
|
109
110
|
### 4.1 `catalog.json` Contract
|
|
110
111
|
|
|
111
112
|
Each tool entry MUST contain:
|
|
113
|
+
|
|
112
114
|
- `name`
|
|
113
115
|
- `description`
|
|
114
116
|
- `input_schema_ref`
|
|
@@ -121,6 +123,7 @@ Each tool entry MUST contain:
|
|
|
121
123
|
### 4.2 `protocol.json` Contract
|
|
122
124
|
|
|
123
125
|
Must pin:
|
|
126
|
+
|
|
124
127
|
- MCP protocol version supported
|
|
125
128
|
- SDK package + version
|
|
126
129
|
- enabled transport modes (`stdio` required; others optional)
|
|
@@ -128,6 +131,7 @@ Must pin:
|
|
|
128
131
|
### 4.3 Error Envelope
|
|
129
132
|
|
|
130
133
|
All failures MUST return:
|
|
134
|
+
|
|
131
135
|
- `ok: false`
|
|
132
136
|
- `error.code`
|
|
133
137
|
- `error.message`
|
|
@@ -139,28 +143,35 @@ All failures MUST return:
|
|
|
139
143
|
## 5. Runtime Components
|
|
140
144
|
|
|
141
145
|
1. `ToolRegistryLoader`
|
|
146
|
+
|
|
142
147
|
- loads registry
|
|
143
148
|
- validates uniqueness and schema refs
|
|
144
149
|
|
|
145
150
|
2. `ToolContractValidator`
|
|
151
|
+
|
|
146
152
|
- validates input pre-handler
|
|
147
153
|
- validates output post-handler
|
|
148
154
|
|
|
149
155
|
3. `TokenAuthVerifier`
|
|
156
|
+
|
|
150
157
|
- verifies signature and expiry
|
|
151
158
|
- extracts trusted actor claims
|
|
152
159
|
|
|
153
160
|
4. `ToolAuthorizer`
|
|
161
|
+
|
|
154
162
|
- applies intersection of registry roles and policy roles
|
|
155
163
|
|
|
156
164
|
5. `OperationLedger`
|
|
165
|
+
|
|
157
166
|
- writes and resolves idempotent operation outcomes for mutating calls
|
|
158
167
|
|
|
159
168
|
6. `KernelToolExecutor`
|
|
169
|
+
|
|
160
170
|
- maps `handler_id` to domain method call
|
|
161
171
|
- normalizes errors
|
|
162
172
|
|
|
163
173
|
7. `McpServerAdapter`
|
|
174
|
+
|
|
164
175
|
- implements protocol endpoints via registry/executor
|
|
165
176
|
|
|
166
177
|
---
|
|
@@ -170,6 +181,7 @@ All failures MUST return:
|
|
|
170
181
|
### 6.1 Token Claims
|
|
171
182
|
|
|
172
183
|
Required claims:
|
|
184
|
+
|
|
173
185
|
- `run_id`
|
|
174
186
|
- `session_id`
|
|
175
187
|
- `actor_type`
|
|
@@ -178,6 +190,7 @@ Required claims:
|
|
|
178
190
|
- `expires_at`
|
|
179
191
|
|
|
180
192
|
Optional claims:
|
|
193
|
+
|
|
181
194
|
- `feature_scope` (for feature-limited workers)
|
|
182
195
|
|
|
183
196
|
### 6.2 Validation Rules
|
|
@@ -200,6 +213,7 @@ Optional claims:
|
|
|
200
213
|
### 7.1 Mutating Tools
|
|
201
214
|
|
|
202
215
|
Mutating tools include at least:
|
|
216
|
+
|
|
203
217
|
- `feature.init`
|
|
204
218
|
- `feature.state_patch`
|
|
205
219
|
- `feature.log_append`
|
|
@@ -227,6 +241,7 @@ Mutating tools include at least:
|
|
|
227
241
|
### 8.1 Pinning Requirement
|
|
228
242
|
|
|
229
243
|
Implementation MUST pin and document:
|
|
244
|
+
|
|
230
245
|
- MCP protocol version
|
|
231
246
|
- SDK package/version
|
|
232
247
|
- transport implementation details
|
|
@@ -242,6 +257,7 @@ Implementation MUST pin and document:
|
|
|
242
257
|
## 9. Observability Contract
|
|
243
258
|
|
|
244
259
|
Every tool call MUST emit structured logs with:
|
|
260
|
+
|
|
245
261
|
- `run_id`
|
|
246
262
|
- `operation_id` (if mutating)
|
|
247
263
|
- `feature_id` (if applicable)
|
|
@@ -252,6 +268,7 @@ Every tool call MUST emit structured logs with:
|
|
|
252
268
|
- `error_code` (if any)
|
|
253
269
|
|
|
254
270
|
Metrics MUST include:
|
|
271
|
+
|
|
255
272
|
- calls by tool/role
|
|
256
273
|
- failure rates by error code
|
|
257
274
|
- retry and idempotency hit rates
|
|
@@ -286,6 +303,7 @@ This plan coordinates this spec and `agentic_orchestrator_single_global_orchestr
|
|
|
286
303
|
- bind existing handlers via `handler_id`
|
|
287
304
|
|
|
288
305
|
Exit gate:
|
|
306
|
+
|
|
289
307
|
- registry validates
|
|
290
308
|
- generated tools doc matches registry
|
|
291
309
|
|
|
@@ -295,6 +313,7 @@ Exit gate:
|
|
|
295
313
|
- operation ledger and mutating call idempotency
|
|
296
314
|
|
|
297
315
|
Exit gate:
|
|
316
|
+
|
|
298
317
|
- auth failure paths tested
|
|
299
318
|
- duplicate mutation calls are safe
|
|
300
319
|
|
|
@@ -304,6 +323,7 @@ Exit gate:
|
|
|
304
323
|
- pin protocol and sdk versions
|
|
305
324
|
|
|
306
325
|
Exit gate:
|
|
326
|
+
|
|
307
327
|
- protocol conformance tests pass
|
|
308
328
|
|
|
309
329
|
### M13: ToolClient Migration
|
|
@@ -312,6 +332,7 @@ Exit gate:
|
|
|
312
332
|
- migrate CLI/Supervisor call paths
|
|
313
333
|
|
|
314
334
|
Exit gate:
|
|
335
|
+
|
|
315
336
|
- end-to-end runs on both transports
|
|
316
337
|
|
|
317
338
|
### M14-M17: Global Orchestrator Topology Refactor
|
|
@@ -319,6 +340,7 @@ Exit gate:
|
|
|
319
340
|
- executed per global-orchestrator spec milestones
|
|
320
341
|
|
|
321
342
|
Exit gate:
|
|
343
|
+
|
|
322
344
|
- session topology invariants pass (`1 + 3N`)
|
|
323
345
|
|
|
324
346
|
### M18: Production Promotion
|
|
@@ -327,6 +349,7 @@ Exit gate:
|
|
|
327
349
|
- maintain in-process fallback for tests/recovery only
|
|
328
350
|
|
|
329
351
|
Exit gate:
|
|
352
|
+
|
|
330
353
|
- parity suite green
|
|
331
354
|
- rollout checklist signed off
|
|
332
355
|
|
|
@@ -343,6 +366,7 @@ Exit gate:
|
|
|
343
366
|
### 12.2 Conformance Suite
|
|
344
367
|
|
|
345
368
|
Same scenario must pass via both transports for critical paths:
|
|
369
|
+
|
|
346
370
|
- init -> plan -> patch -> gates -> merge
|
|
347
371
|
- lock conflict and collision outcomes
|
|
348
372
|
- retried mutation calls
|
|
@@ -376,4 +400,3 @@ Same scenario must pass via both transports for critical paths:
|
|
|
376
400
|
- Mitigation: keep in-process fallback until M18 exit gate.
|
|
377
401
|
- Risk: schema churn causing breakages.
|
|
378
402
|
- Mitigation: strict versioning and migration policy.
|
|
379
|
-
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
Current behavior creates per-feature orchestrator sessions (`4N`).
|
|
38
38
|
|
|
39
39
|
Target behavior:
|
|
40
|
+
|
|
40
41
|
- one global orchestrator session per run
|
|
41
42
|
- worker sessions per active feature
|
|
42
43
|
- queued features do not allocate worker sessions
|
|
@@ -55,6 +56,7 @@ Queued features are excluded from `N` until promoted to active.
|
|
|
55
56
|
A repo must have at most one active orchestrator run at a time.
|
|
56
57
|
|
|
57
58
|
Canonical lease fields in index:
|
|
59
|
+
|
|
58
60
|
- `runtime_sessions.run_id`
|
|
59
61
|
- `runtime_sessions.owner_instance_id`
|
|
60
62
|
- `runtime_sessions.lease_id`
|
|
@@ -63,11 +65,13 @@ Canonical lease fields in index:
|
|
|
63
65
|
### 3.2 Start Behavior
|
|
64
66
|
|
|
65
67
|
On `aop run` start:
|
|
68
|
+
|
|
66
69
|
1. acquire run lease if absent
|
|
67
70
|
2. if active lease exists and is fresh -> fail with `run_already_active`
|
|
68
71
|
3. if active lease stale and caller passed takeover flag -> claim lease and continue
|
|
69
72
|
|
|
70
73
|
Takeover contract:
|
|
74
|
+
|
|
71
75
|
- CLI flag: `--takeover-stale-run`
|
|
72
76
|
- default (flag absent): stale lease does not get reclaimed automatically
|
|
73
77
|
- when flag present: reclaim stale lease deterministically and continue
|
|
@@ -108,6 +112,7 @@ Queued features MUST NOT consume session slots or violate `1 + 3N`.
|
|
|
108
112
|
### 5.1 `index.json` Runtime Session Object
|
|
109
113
|
|
|
110
114
|
Standardize on one object:
|
|
115
|
+
|
|
111
116
|
- `runtime_sessions.run_id` (string)
|
|
112
117
|
- `runtime_sessions.orchestrator_session_id` (string)
|
|
113
118
|
- `runtime_sessions.provider` (string)
|
|
@@ -124,6 +129,7 @@ Standardize on one object:
|
|
|
124
129
|
Keep existing `cluster` fields for compatibility.
|
|
125
130
|
|
|
126
131
|
Invariant:
|
|
132
|
+
|
|
127
133
|
- For each active feature:
|
|
128
134
|
- `state.cluster.orchestrator_session_id == index.runtime_sessions.orchestrator_session_id`
|
|
129
135
|
|
|
@@ -137,6 +143,7 @@ Invariant:
|
|
|
137
143
|
## 6. Supervisor Loop Under Global Orchestrator
|
|
138
144
|
|
|
139
145
|
Each loop iteration:
|
|
146
|
+
|
|
140
147
|
1. collect per-feature summaries
|
|
141
148
|
2. global orchestrator decides prioritization/arbitration
|
|
142
149
|
3. dispatch planner/builder/qa work
|
|
@@ -144,6 +151,7 @@ Each loop iteration:
|
|
|
144
151
|
5. reconcile outcomes and update canonical state
|
|
145
152
|
|
|
146
153
|
Global orchestrator decisions MUST govern:
|
|
154
|
+
|
|
147
155
|
- lock contention strategy
|
|
148
156
|
- collision resolution ordering
|
|
149
157
|
- merge readiness sequencing
|
|
@@ -258,6 +266,7 @@ Global orchestrator decisions MUST govern:
|
|
|
258
266
|
## 12. Dependency Note
|
|
259
267
|
|
|
260
268
|
This spec depends on security, idempotency, and transport contracts from:
|
|
269
|
+
|
|
261
270
|
- `agentic_orchestrator_mcp_formalization_spec.md`
|
|
262
271
|
|
|
263
272
|
Status note (as of February 28, 2026): foundational MCP formalization artifacts and runtime boundaries are implemented; this topology spec now targets the remaining M14-M18 topology changes on top of that baseline.
|