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
package/spec-files/outstanding/agentic_orchestrator_observability_integrity_diagnostics_spec.md
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
### 0.1 Required Standards
|
|
15
15
|
|
|
16
16
|
All implementation MUST preserve:
|
|
17
|
+
|
|
17
18
|
- deterministic tool behavior and normalized error envelopes
|
|
18
19
|
- MCP/in-process transport parity for all new tools
|
|
19
20
|
- strict contract validation (`validate:mcp-contracts`) and architecture boundaries (`validate:architecture`)
|
|
@@ -23,6 +24,7 @@ All implementation MUST preserve:
|
|
|
23
24
|
### 0.2 Required Upstream Inputs
|
|
24
25
|
|
|
25
26
|
Implementing agents MUST read:
|
|
27
|
+
|
|
26
28
|
- `spec-files/outstanding/agentic_orchestrator_quality_adoption_execution_spec.md`
|
|
27
29
|
- `apps/control-plane/src/mcp/tool-runtime.ts`
|
|
28
30
|
- `apps/control-plane/src/mcp/operation-ledger.ts`
|
|
@@ -47,11 +49,13 @@ Implementing agents MUST read:
|
|
|
47
49
|
### 0.3 Feature Scope
|
|
48
50
|
|
|
49
51
|
This spec implements:
|
|
52
|
+
|
|
50
53
|
- **Q3** Deterministic Replay + Time-Travel Diagnostics
|
|
51
54
|
- **Q4** Tamper-Evident Evidence Integrity Chain
|
|
52
55
|
- **Q11** `aop doctor` Readiness + Drift Diagnostics
|
|
53
56
|
|
|
54
57
|
Out of scope:
|
|
58
|
+
|
|
55
59
|
- autonomous RCA narrative generation
|
|
56
60
|
- external KMS/HSM signing
|
|
57
61
|
- remote telemetry backends
|
|
@@ -64,41 +68,49 @@ Out of scope:
|
|
|
64
68
|
The prior draft was directionally correct but not implementation-safe against the current architecture.
|
|
65
69
|
|
|
66
70
|
1. **Replay design ignored existing idempotency ledger semantics**
|
|
71
|
+
|
|
67
72
|
- Problem: timeline design treated every call as `ok/error` and did not model `operation_id` replay/mismatch outcomes.
|
|
68
73
|
- Impact: operators cannot distinguish a real execution from a deterministic replay path.
|
|
69
74
|
- Correction: timeline entries must include `idempotency_status` (`new|replay|mismatch|none`) and optionally `request_hash`.
|
|
70
75
|
|
|
71
76
|
2. **Tool and CLI wiring was incomplete**
|
|
77
|
+
|
|
72
78
|
- Problem: draft listed service files only, but current runtime requires full wiring through constants, kernel handlers, tool metadata, catalog, RBAC, docs generation, CLI enum/parser/help/bootstrap.
|
|
73
79
|
- Impact: contract drift and startup/runtime failures.
|
|
74
80
|
- Correction: include full tool/CLI lifecycle wiring as normative work.
|
|
75
81
|
|
|
76
82
|
3. **Evidence chain placement would break `evidence.latest`**
|
|
83
|
+
|
|
77
84
|
- Problem: `GateService.evidenceLatest()` currently scans all `*.json` files by mtime in evidence dir.
|
|
78
85
|
- Impact: adding `chain.json` or `manifest.json` can cause `evidence.latest` to return chain metadata instead of latest gate evidence.
|
|
79
86
|
- Correction: constrain `evidenceLatest` to `gate-*.json` and `latest-*.json` only.
|
|
80
87
|
|
|
81
88
|
4. **Evidence chain algorithm was insufficiently deterministic**
|
|
89
|
+
|
|
82
90
|
- Problem: hash contract depended on ad hoc concatenation with timestamps and no algorithm versioning/canonical object format.
|
|
83
91
|
- Impact: brittle verification and future incompatibility.
|
|
84
92
|
- Correction: define canonical hash payload with explicit `algorithm_version` and stable field ordering.
|
|
85
93
|
|
|
86
94
|
5. **Concurrency guarantees were underspecified**
|
|
95
|
+
|
|
87
96
|
- Problem: replay sequence allocation and chain append were specified without lock strategy.
|
|
88
97
|
- Impact: sequence collisions/interleaving corruption under concurrent tool calls and parallel gates.
|
|
89
98
|
- Correction: require per-run replay lock and per-feature evidence-chain lock using existing file-lock primitives.
|
|
90
99
|
|
|
91
100
|
6. **Doctor checks were too vague for deterministic implementation**
|
|
101
|
+
|
|
92
102
|
- Problem: checks were listed by category but not by stable check IDs, severity rules, or deterministic ordering.
|
|
93
103
|
- Impact: non-repeatable output and fragile tests.
|
|
94
104
|
- Correction: define fixed check IDs, output ordering, and strict severity semantics.
|
|
95
105
|
|
|
96
106
|
7. **Feature gating model was missing from policy schema**
|
|
107
|
+
|
|
97
108
|
- Problem: draft said “feature-flagged where needed” but provided no schema/default additions.
|
|
98
109
|
- Impact: policy validation failure if teams add unmodeled fields.
|
|
99
110
|
- Correction: add policy/default/schema contracts for observability and diagnostics toggles.
|
|
100
111
|
|
|
101
112
|
8. **Rollout and retention interactions were not addressed**
|
|
113
|
+
|
|
102
114
|
- Problem: no plan for replay file growth, no compatibility plan with evidence retention/pruning.
|
|
103
115
|
- Impact: unbounded artifacts or false integrity failures.
|
|
104
116
|
- Correction: add retention policy and explicit integrity-vs-pruning rules.
|
|
@@ -139,7 +151,7 @@ innovation:
|
|
|
139
151
|
observability:
|
|
140
152
|
replay:
|
|
141
153
|
enabled: true
|
|
142
|
-
write_mode: best_effort
|
|
154
|
+
write_mode: best_effort # best_effort | required
|
|
143
155
|
retention:
|
|
144
156
|
max_runs: 100
|
|
145
157
|
max_entries_per_run: 50000
|
|
@@ -151,10 +163,11 @@ observability:
|
|
|
151
163
|
diagnostics:
|
|
152
164
|
doctor:
|
|
153
165
|
enabled: true
|
|
154
|
-
strict_fails_on: critical
|
|
166
|
+
strict_fails_on: critical # critical | warning
|
|
155
167
|
```
|
|
156
168
|
|
|
157
169
|
Normative behavior:
|
|
170
|
+
|
|
158
171
|
- `innovation.replay_debugger` and `observability.replay.enabled` must both be true for timeline writes.
|
|
159
172
|
- `innovation.tamper_evident_evidence` and `observability.evidence_integrity.enabled` must both be true for chain writes.
|
|
160
173
|
- `write_mode=best_effort` logs failures but never fails tool execution; `required` fails the parent tool call.
|
|
@@ -191,6 +204,7 @@ Entry contract (`timeline.jsonl` line):
|
|
|
191
204
|
```
|
|
192
205
|
|
|
193
206
|
Rules:
|
|
207
|
+
|
|
194
208
|
- `sequence` strictly increases per `run_id`.
|
|
195
209
|
- write path is append-only JSONL; no in-place mutation of prior lines.
|
|
196
210
|
- `idempotency_status` must be one of `none|new|replay|mismatch`.
|
|
@@ -234,6 +248,7 @@ Hash payload (canonical JSON, stable key order):
|
|
|
234
248
|
```
|
|
235
249
|
|
|
236
250
|
Rules:
|
|
251
|
+
|
|
237
252
|
- `chain_hash = sha256(canonical_json(hash_payload))`.
|
|
238
253
|
- `manifest.integrity.json` stores `entry_count`, `head_hash`, `last_verified_at`, `last_verified_result`.
|
|
239
254
|
- verification fails closed on missing artifact, hash mismatch, or chain discontinuity.
|
|
@@ -272,6 +287,7 @@ Report contract:
|
|
|
272
287
|
```
|
|
273
288
|
|
|
274
289
|
Rules:
|
|
290
|
+
|
|
275
291
|
- findings sorted lexically by `id`.
|
|
276
292
|
- summary counts derived strictly from findings array.
|
|
277
293
|
- `ok = (critical===0)` in normal mode.
|
|
@@ -281,12 +297,15 @@ Rules:
|
|
|
281
297
|
### New Tools
|
|
282
298
|
|
|
283
299
|
1. `replay.timeline_get` (read-only)
|
|
300
|
+
|
|
284
301
|
- query timeline by `run_id` with optional `from_sequence`, `limit`, `feature_id`, `tool_name` filters.
|
|
285
302
|
|
|
286
303
|
2. `evidence.verify_chain` (read-only)
|
|
304
|
+
|
|
287
305
|
- verify integrity chain for a feature and return validity summary + first failure details.
|
|
288
306
|
|
|
289
307
|
3. `doctor.run` (mutating)
|
|
308
|
+
|
|
290
309
|
- execute deterministic checks and persist doctor report artifacts.
|
|
291
310
|
|
|
292
311
|
### Required Wiring for Every New Tool
|
|
@@ -303,11 +322,13 @@ Rules:
|
|
|
303
322
|
## 3.6 CLI Surface Changes
|
|
304
323
|
|
|
305
324
|
Add commands:
|
|
325
|
+
|
|
306
326
|
- `aop replay --run-id <id> [--from-sequence N] [--limit N] [--feature-id <id>] [--tool <name>] [--json]`
|
|
307
327
|
- `aop evidence verify --feature-id <id> [--json]`
|
|
308
328
|
- `aop doctor [--strict] [--json]`
|
|
309
329
|
|
|
310
330
|
Required CLI wiring:
|
|
331
|
+
|
|
311
332
|
- `apps/control-plane/src/cli/types.ts` (`CliCommand` additions + option fields)
|
|
312
333
|
- `apps/control-plane/src/cli/cli-argument-parser.ts`
|
|
313
334
|
- `apps/control-plane/src/cli/help-command-handler.ts`
|
|
@@ -317,6 +338,7 @@ Required CLI wiring:
|
|
|
317
338
|
## 3.7 Error Code Additions
|
|
318
339
|
|
|
319
340
|
Add to `apps/control-plane/src/core/error-codes.ts`:
|
|
341
|
+
|
|
320
342
|
- `replay_run_not_found`
|
|
321
343
|
- `replay_timeline_corrupt`
|
|
322
344
|
- `replay_timeline_write_failed`
|
|
@@ -335,9 +357,11 @@ Add to `apps/control-plane/src/core/error-codes.ts`:
|
|
|
335
357
|
## OID0: Contract Scaffolding and Policy Wiring
|
|
336
358
|
|
|
337
359
|
### Goals
|
|
360
|
+
|
|
338
361
|
- land schema/default/tool scaffolding first to prevent runtime/config drift
|
|
339
362
|
|
|
340
363
|
### File Targets
|
|
364
|
+
|
|
341
365
|
- `agentic/orchestrator/defaults/policy.defaults.yaml`
|
|
342
366
|
- `agentic/orchestrator/schemas/policy.schema.json`
|
|
343
367
|
- `agentic/orchestrator/schemas/policy.user.schema.json`
|
|
@@ -354,10 +378,12 @@ Add to `apps/control-plane/src/core/error-codes.ts`:
|
|
|
354
378
|
- `agentic/orchestrator/tools.md`
|
|
355
379
|
|
|
356
380
|
### Mandatory Checks
|
|
381
|
+
|
|
357
382
|
- `npm run validate:mcp-contracts`
|
|
358
383
|
- `npm run validate:architecture`
|
|
359
384
|
|
|
360
385
|
Exit criteria:
|
|
386
|
+
|
|
361
387
|
- policy composition validates with new fields
|
|
362
388
|
- no contract validator drift
|
|
363
389
|
|
|
@@ -398,6 +424,7 @@ Instrument `ToolRuntime` finalization path with deterministic timeline writes us
|
|
|
398
424
|
- extend `apps/control-plane/test/mcp.spec.ts` for `replay.timeline_get` parity
|
|
399
425
|
|
|
400
426
|
Exit criteria:
|
|
427
|
+
|
|
401
428
|
- identical tool call sequence produces byte-identical timeline lines (except timestamps)
|
|
402
429
|
- sequence strictly monotonic under concurrent writes
|
|
403
430
|
|
|
@@ -412,6 +439,7 @@ Add chain writer/validator service and integrate into gate evidence write path a
|
|
|
412
439
|
### Critical Integration Correction
|
|
413
440
|
|
|
414
441
|
Before chain integration, change `GateService.evidenceLatest()` selection logic:
|
|
442
|
+
|
|
415
443
|
- include only files matching `gate-*.json` and `latest-*.json`
|
|
416
444
|
- exclude `chain.jsonl`, `manifest.integrity.json`, and any non-gate evidence metadata
|
|
417
445
|
|
|
@@ -450,6 +478,7 @@ Before chain integration, change `GateService.evidenceLatest()` selection logic:
|
|
|
450
478
|
- extend `apps/control-plane/test/mcp.spec.ts` for `evidence.verify_chain` parity
|
|
451
479
|
|
|
452
480
|
Exit criteria:
|
|
481
|
+
|
|
453
482
|
- tampered artifact triggers deterministic failure reason
|
|
454
483
|
- untampered chain verifies successfully
|
|
455
484
|
|
|
@@ -497,6 +526,7 @@ Implement deterministic scanner with fixed check IDs and explicit severity mappi
|
|
|
497
526
|
- extend `apps/control-plane/test/mcp.spec.ts` for `doctor.run` parity
|
|
498
527
|
|
|
499
528
|
Exit criteria:
|
|
529
|
+
|
|
500
530
|
- report artifact is schema-valid
|
|
501
531
|
- strict mode exit behavior is deterministic and tested
|
|
502
532
|
|
|
@@ -505,6 +535,7 @@ Exit criteria:
|
|
|
505
535
|
## OID4: Full Tool + CLI Surface Integration
|
|
506
536
|
|
|
507
537
|
### Goals
|
|
538
|
+
|
|
508
539
|
- complete all runtime and CLI wiring for new commands/tools
|
|
509
540
|
|
|
510
541
|
### Tool Integration Targets
|
|
@@ -532,6 +563,7 @@ Exit criteria:
|
|
|
532
563
|
- `npm run typecheck`
|
|
533
564
|
|
|
534
565
|
Exit criteria:
|
|
566
|
+
|
|
535
567
|
- tools callable via both in-process and MCP clients
|
|
536
568
|
- CLI commands documented and discoverable via `aop help`
|
|
537
569
|
|
|
@@ -542,6 +574,7 @@ Exit criteria:
|
|
|
542
574
|
### Replay Retention
|
|
543
575
|
|
|
544
576
|
Implement deterministic cleanup:
|
|
577
|
+
|
|
545
578
|
- keep newest `max_runs` timeline files
|
|
546
579
|
- cap each run by `max_entries_per_run` with rollover file strategy or truncation policy (must be deterministic and documented)
|
|
547
580
|
|
|
@@ -549,6 +582,7 @@ Implement deterministic cleanup:
|
|
|
549
582
|
|
|
550
583
|
If a separate evidence pruning policy exists, integrity-tracked files must not be pruned silently.
|
|
551
584
|
Required v1 behavior:
|
|
585
|
+
|
|
552
586
|
- doctor emits `DRIFT_007_EVIDENCE_CHAIN_INVALID` if chain references missing files.
|
|
553
587
|
- documentation explicitly states integrity verification requires preserving tracked artifacts.
|
|
554
588
|
|
|
@@ -564,6 +598,7 @@ Required v1 behavior:
|
|
|
564
598
|
- doctor drift test for missing chained artifact
|
|
565
599
|
|
|
566
600
|
Exit criteria:
|
|
601
|
+
|
|
567
602
|
- replay growth bounded by policy
|
|
568
603
|
- integrity failures are diagnosable, not silent
|
|
569
604
|
|
|
@@ -636,18 +671,22 @@ Exit criteria:
|
|
|
636
671
|
## 7. Core Tradeoffs
|
|
637
672
|
|
|
638
673
|
1. **Replay coverage vs overhead**
|
|
674
|
+
|
|
639
675
|
- More per-call fields increase diagnostic value but add write overhead.
|
|
640
676
|
- Chosen tradeoff: lightweight JSONL entries with optional `request_hash`, default best-effort writes.
|
|
641
677
|
|
|
642
678
|
2. **Integrity strictness vs operational flexibility**
|
|
679
|
+
|
|
643
680
|
- Fail-closed verification improves audit trust but can break workflows under artifact pruning.
|
|
644
681
|
- Chosen tradeoff: integrity is opt-in, with explicit doctor findings for retention drift.
|
|
645
682
|
|
|
646
683
|
3. **Doctor breadth vs determinism**
|
|
684
|
+
|
|
647
685
|
- Broad checks can produce noisy, environment-dependent output.
|
|
648
686
|
- Chosen tradeoff: fixed local checks with stable IDs/severities, no external network probes.
|
|
649
687
|
|
|
650
688
|
4. **Command ergonomics vs parser simplicity**
|
|
689
|
+
|
|
651
690
|
- Nested command (`aop evidence verify`) is user-friendly but requires explicit parser subcommand logic.
|
|
652
691
|
- Chosen tradeoff: implement subcommand support explicitly rather than introducing ambiguous top-level aliases.
|
|
653
692
|
|
|
@@ -672,6 +711,7 @@ Exit criteria:
|
|
|
672
711
|
## 9. Definition of Done
|
|
673
712
|
|
|
674
713
|
A completed implementation session MUST provide:
|
|
714
|
+
|
|
675
715
|
- changed files and rationale by phase (OID0-OID6)
|
|
676
716
|
- schema/catalog/RBAC deltas and regenerated `tools.md`
|
|
677
717
|
- test additions and executed command results
|