agentic-orchestrator 0.1.28 → 0.2.1
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/.claude/settings.local.json +46 -1
- package/.cortexrc +28 -0
- package/.github/agents/copilot-instructions.md +29 -0
- package/.github/copilot-instructions.md +93 -0
- package/.vscode/settings.json +13 -0
- package/.vscode/tms.code-snippets +223 -0
- package/AGENTS.md +72 -1
- package/Agentic-Orchestrator.iml +12 -11
- package/CLAUDE.md +72 -1
- package/CONSTITUTION.md +504 -0
- package/FUTURE-ENHANCEMENTS.md +85 -0
- package/NEXT-TASKS.md +25 -0
- package/PROMPTS.md +161 -0
- package/README.md +126 -29
- package/agentic/orchestrator/agents.yaml +4 -3
- package/agentic/orchestrator/defaults/policy.defaults.yaml +39 -3
- package/agentic/orchestrator/gates.yaml +15 -3
- package/agentic/orchestrator/policy.yaml +47 -3
- package/agentic/orchestrator/prompts/builder.system.md +69 -20
- package/agentic/orchestrator/prompts/planner-intake.system.md +149 -0
- package/agentic/orchestrator/prompts/planner.system.md +113 -40
- package/agentic/orchestrator/prompts/qa.system.md +73 -18
- package/agentic/orchestrator/prompts/reconciler.system.md +119 -0
- package/agentic/orchestrator/schemas/agents.schema.json +89 -1
- package/agentic/orchestrator/schemas/execution-control.schema.json +242 -0
- package/agentic/orchestrator/schemas/index.schema.json +234 -0
- package/agentic/orchestrator/schemas/intake.review.schema.json +82 -0
- package/agentic/orchestrator/schemas/organizer-ordering-artifact.schema.json +75 -0
- package/agentic/orchestrator/schemas/plan.schema.json +44 -0
- package/agentic/orchestrator/schemas/policy.schema.json +238 -9
- package/agentic/orchestrator/schemas/policy.user.schema.json +129 -1
- package/agentic/orchestrator/schemas/spec.manifest.bootstrap.schema.json +101 -0
- package/agentic/orchestrator/schemas/spec.manifest.verified.schema.json +80 -0
- package/agentic/orchestrator/schemas/state.schema.json +298 -3
- package/agentic/orchestrator/tools/catalog.json +145 -15
- package/agentic/orchestrator/tools/schemas/input/doctor.run.input.schema.json +18 -0
- package/agentic/orchestrator/tools/schemas/input/evidence.latest.input.schema.json +4 -0
- package/agentic/orchestrator/tools/schemas/input/evidence.verify_chain.input.schema.json +13 -0
- package/agentic/orchestrator/tools/schemas/input/feature.intake_submit.input.schema.json +11 -0
- package/agentic/orchestrator/tools/schemas/input/feature.question_answer.input.schema.json +15 -0
- package/agentic/orchestrator/tools/schemas/input/feature.question_create.input.schema.json +21 -0
- package/agentic/orchestrator/tools/schemas/input/feature.question_list.input.schema.json +13 -0
- package/agentic/orchestrator/tools/schemas/input/feature.ready_to_merge.input.schema.json +5 -0
- package/agentic/orchestrator/tools/schemas/input/feature.send_message.input.schema.json +1 -1
- package/agentic/orchestrator/tools/schemas/input/replay.timeline_get.input.schema.json +32 -0
- package/agentic/orchestrator/tools/schemas/input/repo.conflict_abort.input.schema.json +16 -0
- package/agentic/orchestrator/tools/schemas/input/repo.conflict_files.input.schema.json +16 -0
- package/agentic/orchestrator/tools/schemas/input/repo.reconcile_mainline.input.schema.json +37 -0
- package/agentic/orchestrator/tools/schemas/input/repo.resolve_conflict.input.schema.json +40 -0
- package/agentic/orchestrator/tools/schemas/input/runtime.execution_request_list.input.schema.json +7 -0
- package/agentic/orchestrator/tools/schemas/input/runtime.execution_request_submit.input.schema.json +25 -0
- package/agentic/orchestrator/tools/schemas/output/doctor.run.output.schema.json +34 -0
- package/agentic/orchestrator/tools/schemas/output/evidence.verify_chain.output.schema.json +23 -0
- package/agentic/orchestrator/tools/schemas/output/feature.get_context.output.schema.json +62 -2
- package/agentic/orchestrator/tools/schemas/output/feature.intake_submit.output.schema.json +24 -0
- package/agentic/orchestrator/tools/schemas/output/feature.question_answer.output.schema.json +21 -0
- package/agentic/orchestrator/tools/schemas/output/feature.question_create.output.schema.json +12 -0
- package/agentic/orchestrator/tools/schemas/output/feature.question_list.output.schema.json +14 -0
- package/agentic/orchestrator/tools/schemas/output/feature.ready_to_merge.output.schema.json +31 -0
- package/agentic/orchestrator/tools/schemas/output/feature.send_message.output.schema.json +8 -18
- package/agentic/orchestrator/tools/schemas/output/replay.timeline_get.output.schema.json +64 -0
- package/agentic/orchestrator/tools/schemas/output/repo.conflict_abort.output.schema.json +16 -0
- package/agentic/orchestrator/tools/schemas/output/repo.conflict_files.output.schema.json +22 -0
- package/agentic/orchestrator/tools/schemas/output/repo.reconcile_mainline.output.schema.json +61 -0
- package/agentic/orchestrator/tools/schemas/output/repo.resolve_conflict.output.schema.json +19 -0
- package/agentic/orchestrator/tools/schemas/output/report.dashboard.output.schema.json +26 -0
- package/agentic/orchestrator/tools/schemas/output/runtime.execution_request_list.output.schema.json +17 -0
- package/agentic/orchestrator/tools/schemas/output/runtime.execution_request_submit.output.schema.json +24 -0
- package/agentic/orchestrator/tools.md +13 -0
- package/apps/control-plane/scripts/validate-mcp-contracts.ts +1 -1
- package/apps/control-plane/src/application/kernel-tool-wiring.ts +140 -2
- package/apps/control-plane/src/application/services/activity-monitor-service.ts +44 -1
- package/apps/control-plane/src/application/services/bootstrap-manifest-generator-service.ts +251 -0
- package/apps/control-plane/src/application/services/checkpoint-service.ts +87 -27
- package/apps/control-plane/src/application/services/collision-override-service.ts +906 -0
- package/apps/control-plane/src/application/services/collision-queue-service.ts +129 -38
- package/apps/control-plane/src/application/services/cost-tracking-service.ts +94 -0
- package/apps/control-plane/src/application/services/execution-control-service.ts +599 -0
- package/apps/control-plane/src/application/services/feature-deletion-service.ts +37 -1
- package/apps/control-plane/src/application/services/feature-lifecycle-service.ts +182 -4
- package/apps/control-plane/src/application/services/feature-send-message-service.ts +17 -8
- package/apps/control-plane/src/application/services/feature-state-service.ts +191 -6
- package/apps/control-plane/src/application/services/gate-service.ts +121 -2
- package/apps/control-plane/src/application/services/git-reconciliation-service.ts +1591 -0
- package/apps/control-plane/src/application/services/intake-service.ts +1468 -0
- package/apps/control-plane/src/application/services/merge-service.ts +308 -17
- package/apps/control-plane/src/application/services/notifier-service.ts +3 -1
- package/apps/control-plane/src/application/services/performance-analytics-service.ts +75 -0
- package/apps/control-plane/src/application/services/plan-service.ts +336 -20
- package/apps/control-plane/src/application/services/question-service.ts +693 -0
- package/apps/control-plane/src/application/services/reactions-service.ts +73 -17
- package/apps/control-plane/src/application/services/replay-timeline-service.ts +295 -0
- package/apps/control-plane/src/application/services/reporting-service.ts +194 -10
- package/apps/control-plane/src/application/services/run-lease-service.ts +121 -5
- package/apps/control-plane/src/application/services/worktree-watchdog-service.ts +95 -8
- package/apps/control-plane/src/application/tools/tool-metadata.ts +7 -0
- package/apps/control-plane/src/application/usage-types.ts +138 -0
- package/apps/control-plane/src/cli/add-command-handler.ts +162 -0
- package/apps/control-plane/src/cli/answer-command-handler.ts +113 -0
- package/apps/control-plane/src/cli/attach-command-handler.ts +12 -3
- package/apps/control-plane/src/cli/cli-argument-parser.ts +133 -11
- package/apps/control-plane/src/cli/collision-command-handler.ts +113 -0
- package/apps/control-plane/src/cli/command-catalog.ts +479 -0
- package/apps/control-plane/src/cli/complete-command-handler.ts +23 -0
- package/apps/control-plane/src/cli/completion-command-handler.ts +25 -0
- package/apps/control-plane/src/cli/completion-resolver.ts +319 -0
- package/apps/control-plane/src/cli/completion-shell-renderer.ts +58 -0
- package/apps/control-plane/src/cli/dashboard-command-handler.ts +111 -1
- package/apps/control-plane/src/cli/dashboard-runtime-runner.ts +1036 -0
- package/apps/control-plane/src/cli/dashboard-runtime.ts +31 -0
- package/apps/control-plane/src/cli/help-command-handler.ts +17 -185
- package/apps/control-plane/src/cli/init-command-handler.ts +51 -6
- package/apps/control-plane/src/cli/merge-command-handler.ts +200 -0
- package/apps/control-plane/src/cli/questions-command-handler.ts +70 -0
- package/apps/control-plane/src/cli/replay-command-handler.ts +98 -0
- package/apps/control-plane/src/cli/resume-command-handler.ts +231 -16
- package/apps/control-plane/src/cli/retry-command-handler.ts +229 -17
- package/apps/control-plane/src/cli/retry-resume-decision.ts +75 -0
- package/apps/control-plane/src/cli/rollback-command-handler.ts +4 -2
- package/apps/control-plane/src/cli/run-command-handler.ts +35 -1
- package/apps/control-plane/src/cli/spec-ingestion-service.ts +45 -55
- package/apps/control-plane/src/cli/spec-preparation.ts +114 -0
- package/apps/control-plane/src/cli/spec-utils.ts +90 -11
- package/apps/control-plane/src/cli/status-command-handler.ts +122 -0
- package/apps/control-plane/src/cli/types.ts +41 -3
- package/apps/control-plane/src/core/collisions.ts +150 -31
- package/apps/control-plane/src/core/constants.ts +18 -1
- package/apps/control-plane/src/core/error-codes.ts +39 -0
- package/apps/control-plane/src/core/execution-control.ts +56 -0
- package/apps/control-plane/src/core/feature-resume-phase.ts +118 -0
- package/apps/control-plane/src/core/gate-freshness.ts +359 -0
- package/apps/control-plane/src/core/gate-log-extractor.ts +97 -0
- package/apps/control-plane/src/core/gates.ts +90 -1
- package/apps/control-plane/src/core/intake-artifacts.ts +295 -0
- package/apps/control-plane/src/core/kernel-types.ts +11 -0
- package/apps/control-plane/src/core/kernel.ts +604 -16
- package/apps/control-plane/src/core/mainline-conflict.ts +22 -0
- package/apps/control-plane/src/core/merge-repair.ts +149 -0
- package/apps/control-plane/src/core/path-layout.ts +46 -2
- package/apps/control-plane/src/core/path-rules.ts +11 -3
- package/apps/control-plane/src/core/plan-submit-recovery.ts +130 -0
- package/apps/control-plane/src/core/questions.ts +49 -0
- package/apps/control-plane/src/core/runtime-sessions.ts +4 -0
- package/apps/control-plane/src/core/schemas.ts +40 -1
- package/apps/control-plane/src/core/tool-caller.ts +25 -1
- package/apps/control-plane/src/core/utils/index-normalizer.ts +25 -4
- package/apps/control-plane/src/core/worktree-diff.ts +66 -0
- package/apps/control-plane/src/index.ts +29 -1
- package/apps/control-plane/src/interfaces/cli/bootstrap.ts +300 -6
- package/apps/control-plane/src/mcp/kernel-tool-executor.ts +17 -0
- package/apps/control-plane/src/mcp/tool-runtime.ts +63 -4
- package/apps/control-plane/src/providers/api-worker-provider.ts +62 -15
- package/apps/control-plane/src/providers/cli-worker-provider.ts +1037 -61
- package/apps/control-plane/src/providers/output-parsers/generic-output-parser.ts +99 -1
- package/apps/control-plane/src/providers/output-parsers/types.ts +2 -0
- package/apps/control-plane/src/providers/provider-defaults.ts +116 -7
- package/apps/control-plane/src/providers/providers.ts +225 -21
- package/apps/control-plane/src/providers/worker-provider-factory.ts +26 -2
- package/apps/control-plane/src/supervisor/artifact-stager.ts +52 -0
- package/apps/control-plane/src/supervisor/build-wave-executor.ts +477 -166
- package/apps/control-plane/src/supervisor/execution-enrollment-service.ts +408 -0
- package/apps/control-plane/src/supervisor/organizer-enrollment-scheduler.ts +117 -0
- package/apps/control-plane/src/supervisor/organizer-sidecar-service.ts +394 -0
- package/apps/control-plane/src/supervisor/plan-conformance-scorer.ts +2 -5
- package/apps/control-plane/src/supervisor/planner-phase.ts +85 -0
- package/apps/control-plane/src/supervisor/planning-wave-executor.ts +993 -64
- package/apps/control-plane/src/supervisor/prompt-bundle-loader.ts +20 -1
- package/apps/control-plane/src/supervisor/qa-wave-executor.ts +384 -177
- package/apps/control-plane/src/supervisor/run-coordinator.ts +723 -20
- package/apps/control-plane/src/supervisor/runtime.ts +485 -9
- package/apps/control-plane/src/supervisor/session-orchestrator.ts +220 -1
- package/apps/control-plane/src/supervisor/types.ts +152 -1
- package/apps/control-plane/src/supervisor/worker-decision-loop.ts +1030 -92
- package/apps/control-plane/test/activity-monitor.spec.ts +76 -0
- package/apps/control-plane/test/add-command-handler.spec.ts +189 -0
- package/apps/control-plane/test/application/services/feature-state-service.spec.ts +208 -0
- package/apps/control-plane/test/artifact-stager.spec.ts +93 -0
- package/apps/control-plane/test/batch-operations.spec.ts +58 -0
- package/apps/control-plane/test/bootstrap-edge-cases.spec.ts +50 -2
- package/apps/control-plane/test/bootstrap-manifest-generator-service.spec.ts +99 -0
- package/apps/control-plane/test/bootstrap.spec.ts +177 -4
- package/apps/control-plane/test/checkpoint-service.spec.ts +977 -29
- package/apps/control-plane/test/cli-argument-parser.spec.ts +119 -0
- package/apps/control-plane/test/cli-helpers.spec.ts +1202 -12
- package/apps/control-plane/test/cli.unit.spec.ts +797 -16
- package/apps/control-plane/test/collision-command-handler.spec.ts +182 -0
- package/apps/control-plane/test/collision-override-service.spec.ts +878 -0
- package/apps/control-plane/test/collision-queue.spec.ts +430 -2
- package/apps/control-plane/test/collisions.spec.ts +209 -1
- package/apps/control-plane/test/core-utils.spec.ts +61 -0
- package/apps/control-plane/test/cost-tracking.spec.ts +224 -0
- package/apps/control-plane/test/dashboard-api.integration.spec.ts +185 -5
- package/apps/control-plane/test/dashboard-client.spec.ts +948 -0
- package/apps/control-plane/test/dashboard-command.spec.ts +138 -6
- package/apps/control-plane/test/dashboard-runtime-runner.spec.ts +1550 -0
- package/apps/control-plane/test/dashboard-runtime.spec.ts +138 -0
- package/apps/control-plane/test/dashboard-ui-utils.spec.ts +56 -12
- package/apps/control-plane/test/dependency-scheduler.spec.ts +7 -1
- package/apps/control-plane/test/env-file.spec.ts +76 -0
- package/apps/control-plane/test/execution-control-service.spec.ts +535 -0
- package/apps/control-plane/test/execution-enrollment-service.spec.ts +648 -0
- package/apps/control-plane/test/feature-lifecycle.spec.ts +126 -0
- package/apps/control-plane/test/feature-resume-phase.spec.ts +164 -0
- package/apps/control-plane/test/feature-send-message-service.spec.ts +161 -0
- package/apps/control-plane/test/feature-state-service.spec.ts +295 -0
- package/apps/control-plane/test/fs.spec.ts +80 -0
- package/apps/control-plane/test/gate-freshness.spec.ts +590 -0
- package/apps/control-plane/test/gate-log-extractor.spec.ts +170 -0
- package/apps/control-plane/test/gates.spec.ts +108 -0
- package/apps/control-plane/test/git-reconciliation-service.spec.ts +2307 -0
- package/apps/control-plane/test/helpers.ts +65 -0
- package/apps/control-plane/test/incremental-gates.spec.ts +271 -0
- package/apps/control-plane/test/index-normalizer.spec.ts +98 -0
- package/apps/control-plane/test/init-wizard.spec.ts +17 -0
- package/apps/control-plane/test/intake-artifacts.spec.ts +203 -0
- package/apps/control-plane/test/intake-service.spec.ts +3176 -0
- package/apps/control-plane/test/kernel-collision-replay.spec.ts +3 -2
- package/apps/control-plane/test/kernel-tool-executor.spec.ts +77 -0
- package/apps/control-plane/test/kernel-tool-wiring.spec.ts +279 -0
- package/apps/control-plane/test/kernel.branches.spec.ts +15 -2
- package/apps/control-plane/test/kernel.coverage.spec.ts +7 -3
- package/apps/control-plane/test/kernel.coverage2.spec.ts +731 -2
- package/apps/control-plane/test/kernel.spec.ts +464 -2
- package/apps/control-plane/test/mainline-conflict.spec.ts +66 -0
- package/apps/control-plane/test/mcp-helpers.spec.ts +79 -0
- package/apps/control-plane/test/mcp.spec.ts +177 -13
- package/apps/control-plane/test/merge-command-handler.spec.ts +531 -0
- package/apps/control-plane/test/merge-service.spec.ts +570 -4
- package/apps/control-plane/test/notifier-service.spec.ts +26 -0
- package/apps/control-plane/test/organizer-enrollment-scheduler.spec.ts +340 -0
- package/apps/control-plane/test/organizer-ordering-artifact.spec.ts +95 -0
- package/apps/control-plane/test/organizer-sidecar-service.spec.ts +468 -0
- package/apps/control-plane/test/output-loop-detector.spec.ts +6 -0
- package/apps/control-plane/test/path-layout.spec.ts +70 -0
- package/apps/control-plane/test/performance-analytics.spec.ts +124 -0
- package/apps/control-plane/test/plan-conformance-scorer.spec.ts +53 -0
- package/apps/control-plane/test/plan-service.spec.ts +686 -4
- package/apps/control-plane/test/planning-wave-executor.spec.ts +3272 -86
- package/apps/control-plane/test/policy-loader-service.spec.ts +5 -0
- package/apps/control-plane/test/prompt-overlay.spec.ts +65 -0
- package/apps/control-plane/test/provider-command-runner-epipe.spec.ts +64 -0
- package/apps/control-plane/test/providers/api-worker-provider.spec.ts +129 -0
- package/apps/control-plane/test/providers/cli-worker-provider.spec.ts +148 -0
- package/apps/control-plane/test/providers/usage-types.spec.ts +98 -0
- package/apps/control-plane/test/providers.spec.ts +293 -16
- package/apps/control-plane/test/question-command-handlers.spec.ts +156 -0
- package/apps/control-plane/test/question-service.spec.ts +1119 -0
- package/apps/control-plane/test/reactions.spec.ts +114 -0
- package/apps/control-plane/test/replay-command-handler.spec.ts +144 -0
- package/apps/control-plane/test/replay-timeline-service.spec.ts +459 -0
- package/apps/control-plane/test/response.spec.ts +31 -0
- package/apps/control-plane/test/resume-command.spec.ts +757 -9
- package/apps/control-plane/test/retry-resume-decision.spec.ts +133 -0
- package/apps/control-plane/test/rollback-command-handler.spec.ts +334 -0
- package/apps/control-plane/test/rollback-command.spec.ts +120 -0
- package/apps/control-plane/test/run-coordinator.spec.ts +3062 -404
- package/apps/control-plane/test/schemas/state.schema.spec.ts +71 -0
- package/apps/control-plane/test/service-retry-paths.spec.ts +112 -0
- package/apps/control-plane/test/services.spec.ts +472 -2
- package/apps/control-plane/test/session-management.spec.ts +346 -1
- package/apps/control-plane/test/spec-ingestion.spec.ts +102 -28
- package/apps/control-plane/test/spec-preparation.spec.ts +182 -0
- package/apps/control-plane/test/supervisor-collaborators.spec.ts +191 -3
- package/apps/control-plane/test/supervisor.calltool.spec.ts +198 -0
- package/apps/control-plane/test/supervisor.spec.ts +95 -16
- package/apps/control-plane/test/supervisor.unit.spec.ts +385 -18
- package/apps/control-plane/test/tool-runtime.spec.ts +122 -0
- package/apps/control-plane/test/worker-decision-loop.spec.ts +3479 -476
- package/apps/control-plane/test/worker-execution-policy.spec.ts +1416 -6
- package/apps/control-plane/test/worker-provider-adapters.spec.ts +1894 -37
- package/apps/control-plane/test/worker-provider-factory.spec.ts +81 -0
- package/apps/control-plane/test/worktree-watchdog-service.spec.ts +125 -0
- package/apps/control-plane/vitest.config.ts +5 -0
- package/config/agentic/orchestrator/agents.yaml +22 -1
- package/config/agentic/orchestrator/gates.yaml +24 -7
- package/config/agentic/orchestrator/policy.yaml +23 -1
- package/config/agentic/orchestrator/prompts/builder.system.md +69 -20
- package/config/agentic/orchestrator/prompts/organizer.system.md +85 -0
- package/config/agentic/orchestrator/prompts/overrides/builder.claude.md +28 -0
- package/config/agentic/orchestrator/prompts/overrides/builder.codex.md +28 -0
- package/config/agentic/orchestrator/prompts/overrides/planner.claude.md +20 -0
- package/config/agentic/orchestrator/prompts/overrides/planner.codex.md +20 -0
- package/config/agentic/orchestrator/prompts/planner-intake.system.md +149 -0
- package/config/agentic/orchestrator/prompts/planner.system.md +113 -40
- package/config/agentic/orchestrator/prompts/qa.system.md +75 -18
- package/config/agentic/orchestrator/prompts/reconciler.system.md +119 -0
- package/dist/apps/control-plane/application/kernel-tool-wiring.d.ts +26 -2
- package/dist/apps/control-plane/application/kernel-tool-wiring.js +40 -2
- package/dist/apps/control-plane/application/kernel-tool-wiring.js.map +1 -1
- package/dist/apps/control-plane/application/services/activity-monitor-service.js +37 -1
- package/dist/apps/control-plane/application/services/activity-monitor-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/bootstrap-manifest-generator-service.d.ts +4 -0
- package/dist/apps/control-plane/application/services/bootstrap-manifest-generator-service.js +188 -0
- package/dist/apps/control-plane/application/services/bootstrap-manifest-generator-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/checkpoint-service.d.ts +5 -0
- package/dist/apps/control-plane/application/services/checkpoint-service.js +69 -24
- package/dist/apps/control-plane/application/services/checkpoint-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/collision-override-service.d.ts +139 -0
- package/dist/apps/control-plane/application/services/collision-override-service.js +568 -0
- package/dist/apps/control-plane/application/services/collision-override-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/collision-queue-service.d.ts +15 -0
- package/dist/apps/control-plane/application/services/collision-queue-service.js +92 -33
- package/dist/apps/control-plane/application/services/collision-queue-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/cost-tracking-service.d.ts +11 -0
- package/dist/apps/control-plane/application/services/cost-tracking-service.js +75 -0
- package/dist/apps/control-plane/application/services/cost-tracking-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/execution-control-service.d.ts +75 -0
- package/dist/apps/control-plane/application/services/execution-control-service.js +421 -0
- package/dist/apps/control-plane/application/services/execution-control-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/feature-deletion-service.d.ts +1 -0
- package/dist/apps/control-plane/application/services/feature-deletion-service.js +23 -1
- package/dist/apps/control-plane/application/services/feature-deletion-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/feature-lifecycle-service.d.ts +24 -1
- package/dist/apps/control-plane/application/services/feature-lifecycle-service.js +132 -3
- package/dist/apps/control-plane/application/services/feature-lifecycle-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/feature-send-message-service.js +16 -8
- package/dist/apps/control-plane/application/services/feature-send-message-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/feature-state-service.d.ts +36 -0
- package/dist/apps/control-plane/application/services/feature-state-service.js +163 -6
- package/dist/apps/control-plane/application/services/feature-state-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/gate-service.d.ts +2 -1
- package/dist/apps/control-plane/application/services/gate-service.js +95 -5
- package/dist/apps/control-plane/application/services/gate-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/git-reconciliation-service.d.ts +92 -0
- package/dist/apps/control-plane/application/services/git-reconciliation-service.js +1097 -0
- package/dist/apps/control-plane/application/services/git-reconciliation-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/intake-service.d.ts +63 -0
- package/dist/apps/control-plane/application/services/intake-service.js +1050 -0
- package/dist/apps/control-plane/application/services/intake-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/merge-service.d.ts +5 -1
- package/dist/apps/control-plane/application/services/merge-service.js +233 -18
- package/dist/apps/control-plane/application/services/merge-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/notifier-service.d.ts +1 -1
- package/dist/apps/control-plane/application/services/notifier-service.js +1 -0
- package/dist/apps/control-plane/application/services/notifier-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/performance-analytics-service.d.ts +11 -0
- package/dist/apps/control-plane/application/services/performance-analytics-service.js +59 -0
- package/dist/apps/control-plane/application/services/performance-analytics-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/plan-service.d.ts +5 -0
- package/dist/apps/control-plane/application/services/plan-service.js +254 -15
- package/dist/apps/control-plane/application/services/plan-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/question-service.d.ts +72 -0
- package/dist/apps/control-plane/application/services/question-service.js +507 -0
- package/dist/apps/control-plane/application/services/question-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/reactions-service.d.ts +2 -0
- package/dist/apps/control-plane/application/services/reactions-service.js +60 -17
- package/dist/apps/control-plane/application/services/reactions-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/replay-timeline-service.d.ts +39 -0
- package/dist/apps/control-plane/application/services/replay-timeline-service.js +205 -0
- package/dist/apps/control-plane/application/services/replay-timeline-service.js.map +1 -0
- package/dist/apps/control-plane/application/services/reporting-service.d.ts +59 -0
- package/dist/apps/control-plane/application/services/reporting-service.js +121 -9
- package/dist/apps/control-plane/application/services/reporting-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/run-lease-service.d.ts +20 -0
- package/dist/apps/control-plane/application/services/run-lease-service.js +81 -4
- package/dist/apps/control-plane/application/services/run-lease-service.js.map +1 -1
- package/dist/apps/control-plane/application/services/worktree-watchdog-service.d.ts +10 -0
- package/dist/apps/control-plane/application/services/worktree-watchdog-service.js +65 -8
- package/dist/apps/control-plane/application/services/worktree-watchdog-service.js.map +1 -1
- package/dist/apps/control-plane/application/tools/tool-metadata.js +7 -0
- package/dist/apps/control-plane/application/tools/tool-metadata.js.map +1 -1
- package/dist/apps/control-plane/application/usage-types.d.ts +65 -0
- package/dist/apps/control-plane/application/usage-types.js +75 -0
- package/dist/apps/control-plane/application/usage-types.js.map +1 -0
- package/dist/apps/control-plane/cli/add-command-handler.d.ts +18 -0
- package/dist/apps/control-plane/cli/add-command-handler.js +110 -0
- package/dist/apps/control-plane/cli/add-command-handler.js.map +1 -0
- package/dist/apps/control-plane/cli/answer-command-handler.d.ts +8 -0
- package/dist/apps/control-plane/cli/answer-command-handler.js +96 -0
- package/dist/apps/control-plane/cli/answer-command-handler.js.map +1 -0
- package/dist/apps/control-plane/cli/attach-command-handler.js +8 -3
- package/dist/apps/control-plane/cli/attach-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/cli-argument-parser.js +131 -11
- package/dist/apps/control-plane/cli/cli-argument-parser.js.map +1 -1
- package/dist/apps/control-plane/cli/collision-command-handler.d.ts +8 -0
- package/dist/apps/control-plane/cli/collision-command-handler.js +90 -0
- package/dist/apps/control-plane/cli/collision-command-handler.js.map +1 -0
- package/dist/apps/control-plane/cli/command-catalog.d.ts +21 -0
- package/dist/apps/control-plane/cli/command-catalog.js +416 -0
- package/dist/apps/control-plane/cli/command-catalog.js.map +1 -0
- package/dist/apps/control-plane/cli/complete-command-handler.d.ts +15 -0
- package/dist/apps/control-plane/cli/complete-command-handler.js +26 -0
- package/dist/apps/control-plane/cli/complete-command-handler.js.map +1 -0
- package/dist/apps/control-plane/cli/completion-command-handler.d.ts +8 -0
- package/dist/apps/control-plane/cli/completion-command-handler.js +20 -0
- package/dist/apps/control-plane/cli/completion-command-handler.js.map +1 -0
- package/dist/apps/control-plane/cli/completion-resolver.d.ts +1 -0
- package/dist/apps/control-plane/cli/completion-resolver.js +250 -0
- package/dist/apps/control-plane/cli/completion-resolver.js.map +1 -0
- package/dist/apps/control-plane/cli/completion-shell-renderer.d.ts +3 -0
- package/dist/apps/control-plane/cli/completion-shell-renderer.js +53 -0
- package/dist/apps/control-plane/cli/completion-shell-renderer.js.map +1 -0
- package/dist/apps/control-plane/cli/dashboard-command-handler.d.ts +1 -0
- package/dist/apps/control-plane/cli/dashboard-command-handler.js +84 -1
- package/dist/apps/control-plane/cli/dashboard-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/dashboard-runtime-runner.d.ts +81 -0
- package/dist/apps/control-plane/cli/dashboard-runtime-runner.js +724 -0
- package/dist/apps/control-plane/cli/dashboard-runtime-runner.js.map +1 -0
- package/dist/apps/control-plane/cli/dashboard-runtime.d.ts +1 -0
- package/dist/apps/control-plane/cli/dashboard-runtime.js +26 -0
- package/dist/apps/control-plane/cli/dashboard-runtime.js.map +1 -0
- package/dist/apps/control-plane/cli/help-command-handler.js +13 -172
- package/dist/apps/control-plane/cli/help-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/init-command-handler.js +51 -6
- package/dist/apps/control-plane/cli/init-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/merge-command-handler.d.ts +8 -0
- package/dist/apps/control-plane/cli/merge-command-handler.js +139 -0
- package/dist/apps/control-plane/cli/merge-command-handler.js.map +1 -0
- package/dist/apps/control-plane/cli/questions-command-handler.d.ts +8 -0
- package/dist/apps/control-plane/cli/questions-command-handler.js +59 -0
- package/dist/apps/control-plane/cli/questions-command-handler.js.map +1 -0
- package/dist/apps/control-plane/cli/replay-command-handler.d.ts +15 -0
- package/dist/apps/control-plane/cli/replay-command-handler.js +55 -0
- package/dist/apps/control-plane/cli/replay-command-handler.js.map +1 -0
- package/dist/apps/control-plane/cli/resume-command-handler.d.ts +2 -0
- package/dist/apps/control-plane/cli/resume-command-handler.js +180 -17
- package/dist/apps/control-plane/cli/resume-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/retry-command-handler.js +202 -16
- package/dist/apps/control-plane/cli/retry-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/retry-resume-decision.d.ts +26 -0
- package/dist/apps/control-plane/cli/retry-resume-decision.js +61 -0
- package/dist/apps/control-plane/cli/retry-resume-decision.js.map +1 -0
- package/dist/apps/control-plane/cli/rollback-command-handler.js +3 -2
- package/dist/apps/control-plane/cli/rollback-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/run-command-handler.js +26 -2
- package/dist/apps/control-plane/cli/run-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/spec-ingestion-service.d.ts +2 -0
- package/dist/apps/control-plane/cli/spec-ingestion-service.js +37 -48
- package/dist/apps/control-plane/cli/spec-ingestion-service.js.map +1 -1
- package/dist/apps/control-plane/cli/spec-preparation.d.ts +14 -0
- package/dist/apps/control-plane/cli/spec-preparation.js +81 -0
- package/dist/apps/control-plane/cli/spec-preparation.js.map +1 -0
- package/dist/apps/control-plane/cli/spec-utils.d.ts +4 -0
- package/dist/apps/control-plane/cli/spec-utils.js +70 -11
- package/dist/apps/control-plane/cli/spec-utils.js.map +1 -1
- package/dist/apps/control-plane/cli/status-command-handler.js +69 -0
- package/dist/apps/control-plane/cli/status-command-handler.js.map +1 -1
- package/dist/apps/control-plane/cli/types.d.ts +41 -4
- package/dist/apps/control-plane/cli/types.js +9 -1
- package/dist/apps/control-plane/cli/types.js.map +1 -1
- package/dist/apps/control-plane/core/collisions.d.ts +37 -19
- package/dist/apps/control-plane/core/collisions.js +87 -12
- package/dist/apps/control-plane/core/collisions.js.map +1 -1
- package/dist/apps/control-plane/core/constants.d.ts +17 -1
- package/dist/apps/control-plane/core/constants.js +18 -1
- package/dist/apps/control-plane/core/constants.js.map +1 -1
- package/dist/apps/control-plane/core/error-codes.d.ts +39 -0
- package/dist/apps/control-plane/core/error-codes.js +39 -0
- package/dist/apps/control-plane/core/error-codes.js.map +1 -1
- package/dist/apps/control-plane/core/execution-control.d.ts +45 -0
- package/dist/apps/control-plane/core/execution-control.js +2 -0
- package/dist/apps/control-plane/core/execution-control.js.map +1 -0
- package/dist/apps/control-plane/core/feature-resume-phase.d.ts +3 -0
- package/dist/apps/control-plane/core/feature-resume-phase.js +88 -0
- package/dist/apps/control-plane/core/feature-resume-phase.js.map +1 -0
- package/dist/apps/control-plane/core/gate-freshness.d.ts +48 -0
- package/dist/apps/control-plane/core/gate-freshness.js +267 -0
- package/dist/apps/control-plane/core/gate-freshness.js.map +1 -0
- package/dist/apps/control-plane/core/gate-log-extractor.d.ts +22 -0
- package/dist/apps/control-plane/core/gate-log-extractor.js +66 -0
- package/dist/apps/control-plane/core/gate-log-extractor.js.map +1 -0
- package/dist/apps/control-plane/core/gates.d.ts +11 -2
- package/dist/apps/control-plane/core/gates.js +67 -3
- package/dist/apps/control-plane/core/gates.js.map +1 -1
- package/dist/apps/control-plane/core/intake-artifacts.d.ts +109 -0
- package/dist/apps/control-plane/core/intake-artifacts.js +143 -0
- package/dist/apps/control-plane/core/intake-artifacts.js.map +1 -0
- package/dist/apps/control-plane/core/kernel-types.d.ts +8 -0
- package/dist/apps/control-plane/core/kernel.d.ts +256 -8
- package/dist/apps/control-plane/core/kernel.js +400 -14
- package/dist/apps/control-plane/core/kernel.js.map +1 -1
- package/dist/apps/control-plane/core/mainline-conflict.d.ts +7 -0
- package/dist/apps/control-plane/core/mainline-conflict.js +20 -0
- package/dist/apps/control-plane/core/mainline-conflict.js.map +1 -0
- package/dist/apps/control-plane/core/merge-repair.d.ts +35 -0
- package/dist/apps/control-plane/core/merge-repair.js +99 -0
- package/dist/apps/control-plane/core/merge-repair.js.map +1 -0
- package/dist/apps/control-plane/core/path-layout.d.ts +10 -0
- package/dist/apps/control-plane/core/path-layout.js +32 -2
- package/dist/apps/control-plane/core/path-layout.js.map +1 -1
- package/dist/apps/control-plane/core/path-rules.js +9 -3
- package/dist/apps/control-plane/core/path-rules.js.map +1 -1
- package/dist/apps/control-plane/core/plan-submit-recovery.d.ts +22 -0
- package/dist/apps/control-plane/core/plan-submit-recovery.js +78 -0
- package/dist/apps/control-plane/core/plan-submit-recovery.js.map +1 -0
- package/dist/apps/control-plane/core/questions.d.ts +40 -0
- package/dist/apps/control-plane/core/questions.js +2 -0
- package/dist/apps/control-plane/core/questions.js.map +1 -0
- package/dist/apps/control-plane/core/runtime-sessions.d.ts +4 -0
- package/dist/apps/control-plane/core/schemas.d.ts +2 -0
- package/dist/apps/control-plane/core/schemas.js +31 -1
- package/dist/apps/control-plane/core/schemas.js.map +1 -1
- package/dist/apps/control-plane/core/tool-caller.d.ts +18 -1
- package/dist/apps/control-plane/core/utils/index-normalizer.js +17 -4
- package/dist/apps/control-plane/core/utils/index-normalizer.js.map +1 -1
- package/dist/apps/control-plane/core/worktree-diff.d.ts +4 -0
- package/dist/apps/control-plane/core/worktree-diff.js +52 -0
- package/dist/apps/control-plane/core/worktree-diff.js.map +1 -0
- package/dist/apps/control-plane/index.d.ts +10 -2
- package/dist/apps/control-plane/index.js +9 -2
- package/dist/apps/control-plane/index.js.map +1 -1
- package/dist/apps/control-plane/interfaces/cli/bootstrap.js +236 -6
- package/dist/apps/control-plane/interfaces/cli/bootstrap.js.map +1 -1
- package/dist/apps/control-plane/mcp/kernel-tool-executor.js +16 -0
- package/dist/apps/control-plane/mcp/kernel-tool-executor.js.map +1 -1
- package/dist/apps/control-plane/mcp/tool-runtime.d.ts +5 -0
- package/dist/apps/control-plane/mcp/tool-runtime.js +40 -5
- package/dist/apps/control-plane/mcp/tool-runtime.js.map +1 -1
- package/dist/apps/control-plane/providers/api-worker-provider.d.ts +2 -2
- package/dist/apps/control-plane/providers/api-worker-provider.js +40 -9
- package/dist/apps/control-plane/providers/api-worker-provider.js.map +1 -1
- package/dist/apps/control-plane/providers/cli-worker-provider.d.ts +59 -3
- package/dist/apps/control-plane/providers/cli-worker-provider.js +758 -46
- package/dist/apps/control-plane/providers/cli-worker-provider.js.map +1 -1
- package/dist/apps/control-plane/providers/output-parsers/generic-output-parser.js +91 -1
- package/dist/apps/control-plane/providers/output-parsers/generic-output-parser.js.map +1 -1
- package/dist/apps/control-plane/providers/output-parsers/types.d.ts +2 -0
- package/dist/apps/control-plane/providers/provider-defaults.d.ts +12 -0
- package/dist/apps/control-plane/providers/provider-defaults.js +103 -7
- package/dist/apps/control-plane/providers/provider-defaults.js.map +1 -1
- package/dist/apps/control-plane/providers/providers.d.ts +50 -4
- package/dist/apps/control-plane/providers/providers.js +145 -14
- package/dist/apps/control-plane/providers/providers.js.map +1 -1
- package/dist/apps/control-plane/providers/worker-provider-factory.d.ts +2 -0
- package/dist/apps/control-plane/providers/worker-provider-factory.js +8 -1
- package/dist/apps/control-plane/providers/worker-provider-factory.js.map +1 -1
- package/dist/apps/control-plane/supervisor/artifact-stager.d.ts +5 -0
- package/dist/apps/control-plane/supervisor/artifact-stager.js +45 -0
- package/dist/apps/control-plane/supervisor/artifact-stager.js.map +1 -0
- package/dist/apps/control-plane/supervisor/build-wave-executor.d.ts +24 -1
- package/dist/apps/control-plane/supervisor/build-wave-executor.js +362 -150
- package/dist/apps/control-plane/supervisor/build-wave-executor.js.map +1 -1
- package/dist/apps/control-plane/supervisor/execution-enrollment-service.d.ts +41 -0
- package/dist/apps/control-plane/supervisor/execution-enrollment-service.js +311 -0
- package/dist/apps/control-plane/supervisor/execution-enrollment-service.js.map +1 -0
- package/dist/apps/control-plane/supervisor/organizer-enrollment-scheduler.d.ts +15 -0
- package/dist/apps/control-plane/supervisor/organizer-enrollment-scheduler.js +93 -0
- package/dist/apps/control-plane/supervisor/organizer-enrollment-scheduler.js.map +1 -0
- package/dist/apps/control-plane/supervisor/organizer-sidecar-service.d.ts +44 -0
- package/dist/apps/control-plane/supervisor/organizer-sidecar-service.js +311 -0
- package/dist/apps/control-plane/supervisor/organizer-sidecar-service.js.map +1 -0
- package/dist/apps/control-plane/supervisor/plan-conformance-scorer.js +2 -5
- package/dist/apps/control-plane/supervisor/plan-conformance-scorer.js.map +1 -1
- package/dist/apps/control-plane/supervisor/planner-phase.d.ts +3 -0
- package/dist/apps/control-plane/supervisor/planner-phase.js +70 -0
- package/dist/apps/control-plane/supervisor/planner-phase.js.map +1 -0
- package/dist/apps/control-plane/supervisor/planning-wave-executor.d.ts +42 -0
- package/dist/apps/control-plane/supervisor/planning-wave-executor.js +753 -55
- package/dist/apps/control-plane/supervisor/planning-wave-executor.js.map +1 -1
- package/dist/apps/control-plane/supervisor/prompt-bundle-loader.js +19 -1
- package/dist/apps/control-plane/supervisor/prompt-bundle-loader.js.map +1 -1
- package/dist/apps/control-plane/supervisor/qa-wave-executor.d.ts +21 -0
- package/dist/apps/control-plane/supervisor/qa-wave-executor.js +287 -156
- package/dist/apps/control-plane/supervisor/qa-wave-executor.js.map +1 -1
- package/dist/apps/control-plane/supervisor/run-coordinator.d.ts +30 -1
- package/dist/apps/control-plane/supervisor/run-coordinator.js +561 -17
- package/dist/apps/control-plane/supervisor/run-coordinator.js.map +1 -1
- package/dist/apps/control-plane/supervisor/runtime.d.ts +84 -0
- package/dist/apps/control-plane/supervisor/runtime.js +393 -3
- package/dist/apps/control-plane/supervisor/runtime.js.map +1 -1
- package/dist/apps/control-plane/supervisor/session-orchestrator.d.ts +54 -0
- package/dist/apps/control-plane/supervisor/session-orchestrator.js +176 -1
- package/dist/apps/control-plane/supervisor/session-orchestrator.js.map +1 -1
- package/dist/apps/control-plane/supervisor/types.d.ts +142 -1
- package/dist/apps/control-plane/supervisor/types.js.map +1 -1
- package/dist/apps/control-plane/supervisor/worker-decision-loop.d.ts +68 -2
- package/dist/apps/control-plane/supervisor/worker-decision-loop.js +723 -89
- package/dist/apps/control-plane/supervisor/worker-decision-loop.js.map +1 -1
- package/docs/core/ARCHITECTURE.md +227 -0
- package/docs/core/DECISIONS.md +94 -0
- package/docs/core/DOMAIN-LOGIC.md +60 -0
- package/docs/core/PATTERNS.md +201 -0
- package/docs/core/TROUBLESHOOTING.md +347 -0
- package/docs/core/intentgraph-dependencies.json +39860 -0
- package/docs/core/intentgraph.index.json +46580 -0
- package/docs/plans/2026-03-10-gate-failure-targeted-repair-design.md +224 -0
- package/docs/plans/2026-03-10-gate-failure-targeted-repair.md +1032 -0
- package/docs/superpowers/plans/2026-03-16-provider-cli-config.md +743 -0
- package/docs/superpowers/plans/2026-03-23-reconcile-divergence-fix.md +777 -0
- package/docs/superpowers/plans/2026-03-28-ordering-agent-implementation.md +1754 -0
- package/docs/superpowers/plans/2026-03-29-drop-zone-and-provider-optimization.md +1108 -0
- package/docs/superpowers/plans/2026-03-29-merge-target-feature-branch.md +685 -0
- package/docs/superpowers/plans/2026-03-29-organizer-sidecar-runtime-loop.md +1289 -0
- package/docs/superpowers/specs/2026-03-23-reconcile-divergence-fix-design.md +118 -0
- package/docs/superpowers/specs/2026-03-28-ordering-agent-spec-audit-design.md +50 -0
- package/docs/superpowers/specs/2026-03-29-drop-zone-and-provider-optimization-design.md +254 -0
- package/docs/superpowers/specs/2026-03-29-merge-target-feature-branch-design.md +152 -0
- package/docs/superpowers/specs/2026-03-29-organizer-sidecar-runtime-loop-design.md +225 -0
- package/package.json +3 -2
- package/packages/web-dashboard/package.json +2 -1
- package/packages/web-dashboard/src/app/analytics/page.tsx +36 -2
- package/packages/web-dashboard/src/app/api/actions/route.ts +274 -63
- package/packages/web-dashboard/src/app/api/actions/status/route.ts +35 -0
- package/packages/web-dashboard/src/app/api/analytics/provider/route.ts +18 -0
- package/packages/web-dashboard/src/app/api/collisions/approve/route.ts +58 -0
- package/packages/web-dashboard/src/app/api/features/[id]/checkpoint-diff/route.ts +36 -0
- package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/route.ts +29 -0
- package/packages/web-dashboard/src/app/api/features/[id]/conflicts/abort/route.ts +29 -0
- package/packages/web-dashboard/src/app/api/features/[id]/conflicts/files/route.ts +30 -0
- package/packages/web-dashboard/src/app/api/features/[id]/conflicts/resolve/route.ts +51 -0
- package/packages/web-dashboard/src/app/api/features/[id]/conflicts/route.ts +75 -0
- package/packages/web-dashboard/src/app/api/features/[id]/diff/route.ts +16 -2
- package/packages/web-dashboard/src/app/api/features/[id]/files/route.ts +26 -0
- package/packages/web-dashboard/src/app/api/features/[id]/gate-history/route.ts +27 -0
- package/packages/web-dashboard/src/app/api/features/[id]/genealogy/route.ts +26 -0
- package/packages/web-dashboard/src/app/api/features/[id]/history/run/[runId]/route.ts +20 -0
- package/packages/web-dashboard/src/app/api/features/[id]/history/runs/route.ts +34 -0
- package/packages/web-dashboard/src/app/api/features/[id]/intake-workspace/route.ts +20 -0
- package/packages/web-dashboard/src/app/api/features/[id]/live-output/route.ts +74 -0
- package/packages/web-dashboard/src/app/api/features/[id]/plan/amend/route.ts +21 -0
- package/packages/web-dashboard/src/app/api/features/[id]/plan-progress/route.ts +20 -0
- package/packages/web-dashboard/src/app/api/features/[id]/planner-artifacts/[artifact]/route.ts +78 -0
- package/packages/web-dashboard/src/app/api/features/[id]/planner-lifecycle/route.ts +20 -0
- package/packages/web-dashboard/src/app/api/features/[id]/planning-workspace/route.ts +20 -0
- package/packages/web-dashboard/src/app/api/features/[id]/questions/[questionId]/answer/route.ts +27 -0
- package/packages/web-dashboard/src/app/api/features/[id]/questions/route.ts +18 -0
- package/packages/web-dashboard/src/app/api/features/[id]/review/route.ts +14 -7
- package/packages/web-dashboard/src/app/api/features/[id]/route.ts +57 -2
- package/packages/web-dashboard/src/app/api/features/[id]/spec/route.ts +30 -0
- package/packages/web-dashboard/src/app/api/features/[id]/triage/route.ts +83 -0
- package/packages/web-dashboard/src/app/api/features/[id]/worker-events/route.ts +40 -0
- package/packages/web-dashboard/src/app/api/launch/preview/route.ts +86 -0
- package/packages/web-dashboard/src/app/api/launch/submit/route.ts +180 -0
- package/packages/web-dashboard/src/app/api/mainline/status/route.ts +74 -0
- package/packages/web-dashboard/src/app/api/merge-queue/route.ts +13 -0
- package/packages/web-dashboard/src/app/api/policy/budget/route.ts +14 -0
- package/packages/web-dashboard/src/app/api/projects/route.ts +11 -7
- package/packages/web-dashboard/src/app/api/reconciler/queue/route.ts +47 -0
- package/packages/web-dashboard/src/app/api/run/route.ts +26 -2
- package/packages/web-dashboard/src/app/api/runtime/events/route.ts +227 -0
- package/packages/web-dashboard/src/app/api/runtime/operations/route.ts +269 -0
- package/packages/web-dashboard/src/app/api/runtime/questions/route.ts +11 -0
- package/packages/web-dashboard/src/app/api/runtime/runs/route.ts +80 -0
- package/packages/web-dashboard/src/app/api/status/route.ts +4 -2
- package/packages/web-dashboard/src/app/feature/[id]/page.tsx +32 -42
- package/packages/web-dashboard/src/app/globals.css +34 -3
- package/packages/web-dashboard/src/app/launch/page.tsx +362 -0
- package/packages/web-dashboard/src/app/layout.tsx +23 -1
- package/packages/web-dashboard/src/app/page.tsx +263 -272
- package/packages/web-dashboard/src/components/dashboard/attention-strip.tsx +52 -0
- package/packages/web-dashboard/src/components/dashboard/collision-approval-drawer.tsx +185 -0
- package/packages/web-dashboard/src/components/dashboard/command-center-header.tsx +102 -0
- package/packages/web-dashboard/src/components/dashboard/mainline-status-banner.tsx +84 -0
- package/packages/web-dashboard/src/components/dashboard/merged-archive.tsx +36 -0
- package/packages/web-dashboard/src/components/dashboard/prioritized-queues.tsx +98 -0
- package/packages/web-dashboard/src/components/dashboard/reconciler-queue-card.tsx +115 -0
- package/packages/web-dashboard/src/components/dashboard/secondary-diagnostics-rail.tsx +48 -0
- package/packages/web-dashboard/src/components/dashboard/task-filter-bar.tsx +74 -0
- package/packages/web-dashboard/src/components/dashboard/triage-drawer.tsx +455 -0
- package/packages/web-dashboard/src/components/diff-viewer.tsx +19 -3
- package/packages/web-dashboard/src/components/evidence-viewer.tsx +65 -51
- package/packages/web-dashboard/src/components/feature-card.tsx +90 -7
- package/packages/web-dashboard/src/components/feature-cost-panel.tsx +112 -11
- package/packages/web-dashboard/src/components/feature-list-view.tsx +25 -4
- package/packages/web-dashboard/src/components/features/runtime-inspector/EventsTimelineView.tsx +260 -0
- package/packages/web-dashboard/src/components/features/runtime-inspector/OperationsListView.tsx +172 -0
- package/packages/web-dashboard/src/components/features/runtime-inspector/RuntimeInspectorPanel.tsx +896 -0
- package/packages/web-dashboard/src/components/filter-bar.tsx +7 -39
- package/packages/web-dashboard/src/components/focus/ActionableRiskList.tsx +46 -0
- package/packages/web-dashboard/src/components/focus/AgentRolePerformanceCard.tsx +200 -0
- package/packages/web-dashboard/src/components/focus/BlockedGuidanceBanner.tsx +149 -0
- package/packages/web-dashboard/src/components/focus/CheckpointInspector.tsx +123 -0
- package/packages/web-dashboard/src/components/focus/CheckpointRail.tsx +118 -0
- package/packages/web-dashboard/src/components/focus/CheckpointScrubber.tsx +249 -0
- package/packages/web-dashboard/src/components/focus/CollisionApprovalBanner.tsx +192 -0
- package/packages/web-dashboard/src/components/focus/CollisionRadar.tsx +136 -0
- package/packages/web-dashboard/src/components/focus/ConflictStatusCard.tsx +52 -0
- package/packages/web-dashboard/src/components/focus/ContextSidebar.tsx +108 -0
- package/packages/web-dashboard/src/components/focus/DiagnosisPanel.tsx +68 -0
- package/packages/web-dashboard/src/components/focus/FeatureDecisionBanner.tsx +68 -0
- package/packages/web-dashboard/src/components/focus/FeatureQuestionAnswerPanel.tsx +167 -0
- package/packages/web-dashboard/src/components/focus/FocusHeader.tsx +54 -0
- package/packages/web-dashboard/src/components/focus/FocusLayout.tsx +283 -0
- package/packages/web-dashboard/src/components/focus/GateFlakinessSummary.tsx +144 -0
- package/packages/web-dashboard/src/components/focus/GenealogyTree.tsx +34 -0
- package/packages/web-dashboard/src/components/focus/HeroBlock.tsx +67 -0
- package/packages/web-dashboard/src/components/focus/LiveAgentConsole.tsx +277 -0
- package/packages/web-dashboard/src/components/focus/MergeQueueCard.tsx +78 -0
- package/packages/web-dashboard/src/components/focus/OperationalSummaryCard.tsx +227 -0
- package/packages/web-dashboard/src/components/focus/PinnedActions.tsx +96 -0
- package/packages/web-dashboard/src/components/focus/PlanAmendmentPanel.tsx +250 -0
- package/packages/web-dashboard/src/components/focus/PlanProgressPanel.tsx +133 -0
- package/packages/web-dashboard/src/components/focus/PlannerArtifactViewer.tsx +158 -0
- package/packages/web-dashboard/src/components/focus/PlannerLifecycleHeader.tsx +141 -0
- package/packages/web-dashboard/src/components/focus/ProgressSnapshotCard.tsx +113 -0
- package/packages/web-dashboard/src/components/focus/RecentMaterialChanges.tsx +69 -0
- package/packages/web-dashboard/src/components/focus/RoleLogViewer.tsx +436 -0
- package/packages/web-dashboard/src/components/focus/RunHistoryBrowser.tsx +62 -0
- package/packages/web-dashboard/src/components/focus/SpecViewer.tsx +172 -0
- package/packages/web-dashboard/src/components/focus/TabBar.tsx +33 -0
- package/packages/web-dashboard/src/components/focus/UsageBurnChart.tsx +212 -0
- package/packages/web-dashboard/src/components/focus/VerificationSummaryCard.tsx +122 -0
- package/packages/web-dashboard/src/components/focus/tabs/ChangesTab.tsx +325 -0
- package/packages/web-dashboard/src/components/focus/tabs/ConflictsTab.tsx +395 -0
- package/packages/web-dashboard/src/components/focus/tabs/GatesQaTab.tsx +38 -0
- package/packages/web-dashboard/src/components/focus/tabs/HistoryTab.tsx +213 -0
- package/packages/web-dashboard/src/components/focus/tabs/IntakeTab.tsx +429 -0
- package/packages/web-dashboard/src/components/focus/tabs/OverviewTab.tsx +217 -0
- package/packages/web-dashboard/src/components/focus/tabs/PlanningTab.tsx +390 -0
- package/packages/web-dashboard/src/components/focus/tabs/ReviewTab.tsx +497 -0
- package/packages/web-dashboard/src/components/focus/tabs/RuntimeTab.tsx +213 -0
- package/packages/web-dashboard/src/components/focus/tabs/TranscriptTab.tsx +315 -0
- package/packages/web-dashboard/src/components/gate-results.tsx +2 -2
- package/packages/web-dashboard/src/components/human-input-panel.tsx +33 -57
- package/packages/web-dashboard/src/components/kanban-board.tsx +4 -0
- package/packages/web-dashboard/src/components/launch/launch-draft-card.tsx +154 -0
- package/packages/web-dashboard/src/components/plan-viewer.tsx +147 -69
- package/packages/web-dashboard/src/components/quick-launch-panel.tsx +20 -47
- package/packages/web-dashboard/src/components/summary-bar.tsx +30 -76
- package/packages/web-dashboard/src/lib/aop-client.ts +2484 -36
- package/packages/web-dashboard/src/lib/blocked-state-guidance.ts +475 -0
- package/packages/web-dashboard/src/lib/collision-radar.ts +136 -0
- package/packages/web-dashboard/src/lib/dashboard-action-states.ts +204 -0
- package/packages/web-dashboard/src/lib/dashboard-runtime-client.ts +439 -0
- package/packages/web-dashboard/src/lib/dashboard-utils.ts +179 -18
- package/packages/web-dashboard/src/lib/drop-zone-utils.ts +92 -0
- package/packages/web-dashboard/src/lib/focus-detail-derivations.ts +958 -0
- package/packages/web-dashboard/src/lib/focus-view.ts +300 -0
- package/packages/web-dashboard/src/lib/health-diagnosis.ts +356 -0
- package/packages/web-dashboard/src/lib/launch-contracts.ts +77 -0
- package/packages/web-dashboard/src/lib/launch-markdown.ts +103 -0
- package/packages/web-dashboard/src/lib/launch-page-preview.ts +89 -0
- package/packages/web-dashboard/src/lib/live-feed.ts +1 -1
- package/packages/web-dashboard/src/lib/multi-project-config.ts +33 -0
- package/packages/web-dashboard/src/lib/orchestrator-tools.ts +881 -60
- package/packages/web-dashboard/src/lib/planner-workspace.ts +1285 -0
- package/packages/web-dashboard/src/lib/review-contracts.ts +5 -3
- package/packages/web-dashboard/src/lib/runtime-files.ts +285 -0
- package/packages/web-dashboard/src/lib/tool-catalog.ts +51 -0
- package/packages/web-dashboard/src/lib/types.ts +731 -3
- package/packages/web-dashboard/src/lib/usage-burn.ts +175 -0
- package/packages/web-dashboard/src/lib/worktree-diff.ts +128 -0
- package/packages/web-dashboard/src/styles/dashboard.module.css +1742 -459
- package/packages/web-dashboard/test/api/actions/route.spec.ts +675 -0
- package/packages/web-dashboard/test/api/features/diff.route.spec.ts +57 -0
- package/packages/web-dashboard/test/api/features/feature.route.spec.ts +99 -0
- package/packages/web-dashboard/test/api/features/live-output.route.spec.ts +123 -0
- package/packages/web-dashboard/test/api/features/plan-amend.route.spec.ts +95 -0
- package/packages/web-dashboard/test/api/features/planner-workspaces.route.spec.ts +162 -0
- package/packages/web-dashboard/test/api/features/question-answer.route.spec.ts +99 -0
- package/packages/web-dashboard/test/api/features/triage.route.spec.ts +195 -0
- package/packages/web-dashboard/test/api/launch/preview.route.spec.ts +149 -0
- package/packages/web-dashboard/test/api/launch/submit.route.spec.ts +382 -0
- package/packages/web-dashboard/test/api/runtime/events/route.spec.ts +164 -0
- package/packages/web-dashboard/test/api/runtime/operations/route.spec.ts +156 -0
- package/packages/web-dashboard/test/api/runtime/runs/route.spec.ts +112 -0
- package/packages/web-dashboard/test/components/changes-tab.spec.tsx +76 -0
- package/packages/web-dashboard/test/components/command-center-root.spec.tsx +87 -0
- package/packages/web-dashboard/test/components/diagnosis-panel.spec.tsx +59 -0
- package/packages/web-dashboard/test/components/feature-card.spec.tsx +45 -0
- package/packages/web-dashboard/test/components/focus-layout.spec.tsx +299 -0
- package/packages/web-dashboard/test/components/gate-results.spec.tsx +39 -0
- package/packages/web-dashboard/test/components/gates-qa-tab.spec.tsx +118 -0
- package/packages/web-dashboard/test/components/human-input-panel.spec.tsx +54 -0
- package/packages/web-dashboard/test/components/intake-tab.spec.tsx +210 -0
- package/packages/web-dashboard/test/components/kanban-board.spec.tsx +35 -0
- package/packages/web-dashboard/test/components/launch-draft-card.spec.tsx +114 -0
- package/packages/web-dashboard/test/components/launch-page.spec.tsx +79 -0
- package/packages/web-dashboard/test/components/overview-tab.spec.tsx +236 -0
- package/packages/web-dashboard/test/components/planning-tab.spec.tsx +202 -0
- package/packages/web-dashboard/test/components/review-tab.spec.tsx +169 -0
- package/packages/web-dashboard/test/components/role-log-viewer.spec.ts +42 -0
- package/packages/web-dashboard/test/components/runtime-inspector.spec.tsx +22 -0
- package/packages/web-dashboard/test/components/runtime-tab.spec.tsx +133 -0
- package/packages/web-dashboard/test/components/transcript-tab.spec.tsx +46 -0
- package/packages/web-dashboard/test/components/triage-drawer.spec.tsx +159 -0
- package/packages/web-dashboard/test/lib/aop-client.spec.ts +235 -0
- package/packages/web-dashboard/test/lib/dashboard-runtime-client.spec.ts +144 -0
- package/packages/web-dashboard/test/lib/focus-detail-derivations.spec.ts +314 -0
- package/packages/web-dashboard/test/lib/focus-view.spec.ts +248 -0
- package/packages/web-dashboard/test/lib/health-diagnosis.spec.ts +277 -0
- package/packages/web-dashboard/test/lib/launch-markdown.spec.ts +36 -0
- package/packages/web-dashboard/test/lib/multi-project-config.spec.ts +54 -0
- package/packages/web-dashboard/test/lib/orchestrator-tools.spec.ts +352 -0
- package/packages/web-dashboard/test/lib/planner-workspace.spec.ts +289 -0
- package/packages/web-dashboard/test/lib/worktree-diff.spec.ts +119 -0
- package/packages/web-dashboard/vitest.config.ts +2 -0
- package/spec-files/completed/agentic_orchestrator_add_feature_to_active_execution_spec.md +557 -0
- package/spec-files/completed/agentic_orchestrator_dashboard_command_center_redesign_spec.md +1147 -0
- package/spec-files/completed/agentic_orchestrator_execution_mode_spec.md +18 -16
- package/spec-files/completed/agentic_orchestrator_feature_focus_view_track_a_spec.md +672 -0
- package/spec-files/completed/agentic_orchestrator_feature_focus_view_track_b_spec.md +794 -0
- package/spec-files/completed/agentic_orchestrator_feature_focus_view_track_c_decision_centric_remediation_spec.md +1037 -0
- package/spec-files/completed/agentic_orchestrator_feature_focus_view_ux_redesign_spec.md +1432 -0
- package/spec-files/completed/agentic_orchestrator_focus_plan_tab_intake_planning_workspace_spec.md +921 -0
- package/spec-files/completed/agentic_orchestrator_intentional_collision_override_spec.md +584 -0
- package/spec-files/completed/agentic_orchestrator_interactive_planning_intake_and_requirements_verification_spec.md +1185 -0
- package/spec-files/completed/agentic_orchestrator_reactive_execution_enrollment_spec.md +864 -0
- package/spec-files/{outstanding → completed}/agentic_orchestrator_runtime_inspection_spec.md +92 -19
- package/spec-files/completed/agentic_orchestrator_scope_aware_run_lease_spec.md +408 -0
- package/spec-files/completed/git-reconciliation-engine.md +827 -0
- package/spec-files/outstanding/agentic_orchestrator_dashboard_quick_launch_and_control_surface_spec.md +331 -0
- package/spec-files/outstanding/agentic_orchestrator_enterprise_governance_dashboard_spec.md +16 -6
- package/spec-files/outstanding/agentic_orchestrator_evidence_integrity_doctor_spec.md +60 -9
- package/spec-files/outstanding/agentic_orchestrator_focus_plan_tab_execution_contract_workspace_spec.md +616 -0
- package/spec-files/outstanding/agentic_orchestrator_headless_standby_dashboard_runtime_spec.md +310 -0
- package/spec-files/outstanding/agentic_orchestrator_human_input_interaction_protocol_spec.md +175 -72
- package/spec-files/outstanding/agentic_orchestrator_interactive_rename_cleanup_spec.md +197 -0
- package/spec-files/outstanding/agentic_orchestrator_interactive_resume_and_reconciliation_disposition_spec.md +412 -0
- package/spec-files/outstanding/agentic_orchestrator_knowledge_canary_spec.md +166 -137
- package/spec-files/outstanding/agentic_orchestrator_observability_replay_spec.md +3 -3
- package/spec-files/outstanding/agentic_orchestrator_phase_specific_agent_profiles_and_token_telemetry_spec.md +303 -0
- package/spec-files/outstanding/agentic_orchestrator_planning_review_quality_spec.md +18 -5
- package/spec-files/outstanding/agentic_orchestrator_policy_stratification_spec.md +225 -0
- package/spec-files/outstanding/agentic_orchestrator_quality_adoption_execution_spec.md +77 -50
- package/spec-files/outstanding/agentic_orchestrator_ready_to_merge_branch_handoff_spec.md +724 -0
- package/spec-files/outstanding/agentic_orchestrator_remove_deterministic_mode_spec.md +263 -0
- package/spec-files/outstanding/agentic_orchestrator_request_more_context_and_dashboard_human_input_spec.md +456 -0
- package/spec-files/outstanding/agentic_orchestrator_spec_coverage_and_reconciliation_enforcement_spec.md +1411 -0
- package/spec-files/outstanding/agentic_orchestrator_spec_ordering_agent_spec.md +370 -0
- package/spec-files/outstanding/shadow_workspace_implementation_spec.md +1 -1
- package/spec-files/progress.md +2026 -120
- package/specs/001-runtime-inspection/checklists/requirements.md +35 -0
- package/specs/001-runtime-inspection/design.md +338 -0
- package/specs/001-runtime-inspection/spec.md +95 -0
- package/specs/002-scope-aware-lease/checklists/requirements.md +35 -0
- package/specs/002-scope-aware-lease/contracts/lease-registry.schema.json +101 -0
- package/specs/002-scope-aware-lease/data-model.md +236 -0
- package/specs/002-scope-aware-lease/plan.md +766 -0
- package/specs/002-scope-aware-lease/quickstart.md +150 -0
- package/specs/002-scope-aware-lease/research.md +135 -0
- package/specs/002-scope-aware-lease/spec.md +128 -0
- package/specs/002-scope-aware-lease/tasks.md +767 -0
- package/tsconfig.json +1 -1
- package/vitest.config.ts +28 -0
- package/ARCHITECTURE_ADHERENCE_ANALYSIS.md +0 -871
- package/packages/web-dashboard/next-env.d.ts +0 -6
- package/packages/web-dashboard/src/components/detail-panel.tsx +0 -1124
- package/packages/web-dashboard/src/components/review-workspace.tsx +0 -1162
- /package/spec-files/{outstanding → completed}/agentic_orchestrator_artifact_database_publishing_spec.md +0 -0
- /package/spec-files/{outstanding → completed}/agentic_orchestrator_cli_shell_tab_completion_spec.md +0 -0
- /package/spec-files/{outstanding → completed}/agentic_orchestrator_dashboard_diff_and_agent_console_spec.md +0 -0
- /package/spec-files/{outstanding → completed}/agentic_orchestrator_performance_improvements_spec.md +0 -0
- /package/spec-files/{outstanding → completed}/agentic_orchestrator_persistent_worker_runtime_spec.md +0 -0
- /package/spec-files/{outstanding → completed}/agentic_orchestrator_provider_auth_bootstrap_spec.md +0 -0
- /package/spec-files/{outstanding → completed}/agentic_orchestrator_real_worker_provider_execution_spec.md +0 -0
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
# Feature Spec: Dashboard Quick Launch and Control Surface (AOP)
|
|
2
|
+
|
|
3
|
+
> **Purpose of this document**: Define the dashboard-side authoring and operator controls for launching specs, re-enrolling stalled or blocked features, reducing triage-drawer interference, and adding persistent footer navigation.
|
|
4
|
+
|
|
5
|
+
**Version:** 1.0
|
|
6
|
+
**Date:** 2026-03-16
|
|
7
|
+
**Status:** Draft
|
|
8
|
+
**Roadmap Mapping:** M51
|
|
9
|
+
**Depends On:**
|
|
10
|
+
|
|
11
|
+
- `spec-files/completed/agentic_orchestrator_dashboard_advanced_ux_spec.md`
|
|
12
|
+
- `spec-files/completed/agentic_orchestrator_add_feature_to_active_execution_spec.md`
|
|
13
|
+
- `spec-files/completed/agentic_orchestrator_reactive_execution_enrollment_spec.md`
|
|
14
|
+
- `spec-files/completed/agentic_orchestrator_dashboard_command_center_redesign_spec.md`
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 0. Scope
|
|
19
|
+
|
|
20
|
+
This spec covers the following user requests:
|
|
21
|
+
|
|
22
|
+
1. Move Quick Launch onto its own route with a visible dashboard entrypoint.
|
|
23
|
+
2. Allow Quick Launch to accept either uploaded spec markdown files or pasted markdown text.
|
|
24
|
+
3. Render imported markdown on the Quick Launch page before submission.
|
|
25
|
+
4. Submit Quick Launch work through the same active-run enrollment path as `aop add`.
|
|
26
|
+
5. Support adding multiple features in one dashboard submission.
|
|
27
|
+
6. Allow direct dashboard resume/retry actions for features in client-visible `stalled` or `blocked` states.
|
|
28
|
+
7. Refactor the root triage drawer so it remains helpful without obstructing root-route navigation.
|
|
29
|
+
8. Add footer links to the GitHub repository and documentation.
|
|
30
|
+
|
|
31
|
+
Out of scope:
|
|
32
|
+
|
|
33
|
+
- background runtime boot and standby behavior
|
|
34
|
+
- per-phase model/provider selection
|
|
35
|
+
- token telemetry collection internals
|
|
36
|
+
- organizer/spec-ordering behavior
|
|
37
|
+
|
|
38
|
+
### 0.1 Required Standards
|
|
39
|
+
|
|
40
|
+
All implementation derived from this spec MUST preserve:
|
|
41
|
+
|
|
42
|
+
- deterministic execution-request submission through the existing runtime enrollment path
|
|
43
|
+
- normalized `{ ok, data/error }` dashboard and tool response envelopes
|
|
44
|
+
- single-active-run repository ownership semantics
|
|
45
|
+
- atomic state mutation through existing kernel/service seams rather than ad hoc dashboard writes
|
|
46
|
+
- accessibility and responsive behavior already required by the dashboard specs this document depends on
|
|
47
|
+
|
|
48
|
+
### 0.2 OOP and Architecture Guardrails (Mandatory)
|
|
49
|
+
|
|
50
|
+
Implementation MUST follow:
|
|
51
|
+
|
|
52
|
+
- **KISS**: keep dashboard intake, preview, submission, and recovery actions as separate focused modules instead of one oversized route/controller.
|
|
53
|
+
- **SRP**: root triage layout, launch authoring flow, execution-request submission, and action authorization MUST remain separate responsibilities.
|
|
54
|
+
- **SOLID-oriented design**:
|
|
55
|
+
- open/closed for future intake sources beyond upload/paste without rewriting enrollment plumbing
|
|
56
|
+
- interface segregation between preview/render helpers, submission helpers, and recovery-action helpers
|
|
57
|
+
- dependency inversion so dashboard routes depend on reusable orchestration/service seams rather than hard-coded CLI behavior
|
|
58
|
+
- **Hexagonal alignment**: the dashboard MUST call orchestrator services/tools; it MUST NOT become a second control-plane implementation.
|
|
59
|
+
- **Composition over inheritance**: build the launch page from small draft/preview/submission components and helper modules.
|
|
60
|
+
- **High cohesion / low coupling**: triage-drawer UX fixes must not be bundled with deep Focus-view review behavior.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 1. Problem Statement
|
|
65
|
+
|
|
66
|
+
The current dashboard has three related gaps:
|
|
67
|
+
|
|
68
|
+
1. Quick Launch exists only as a small inline panel and initializes a single feature via `feature.init`; it does not work as a first-class spec intake surface and does not reuse the active-run enrollment model introduced by `aop add`.
|
|
69
|
+
2. Operators can see blocked or stalled work but cannot consistently recover it from the dashboard using the same semantics as CLI `add --resume` and `retry`.
|
|
70
|
+
3. The root triage drawer is positioned in a way that can obscure header controls, and the dashboard lacks persistent navigation affordances to repo/docs destinations.
|
|
71
|
+
|
|
72
|
+
The desired behavior is a dashboard command surface that is useful for intake and lightweight control, while leaving deep review in `/feature/:id`.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 2. Design Summary
|
|
77
|
+
|
|
78
|
+
### 2.1 New Quick Launch Route
|
|
79
|
+
|
|
80
|
+
Add a dedicated route:
|
|
81
|
+
|
|
82
|
+
- `packages/web-dashboard/src/app/launch/page.tsx`
|
|
83
|
+
|
|
84
|
+
This route becomes the primary dashboard authoring surface for new work intake.
|
|
85
|
+
|
|
86
|
+
The existing root-page Quick Launch affordance MUST be reduced to:
|
|
87
|
+
|
|
88
|
+
- a button or link to `/launch`
|
|
89
|
+
- lightweight availability/status messaging only
|
|
90
|
+
- no multi-field authoring workflow on the root route
|
|
91
|
+
|
|
92
|
+
### 2.2 Submission Model
|
|
93
|
+
|
|
94
|
+
Quick Launch MUST submit through the same durable execution-enrollment pipeline as CLI `aop add`.
|
|
95
|
+
|
|
96
|
+
That means the dashboard MUST NOT shell out to CLI commands and MUST NOT bypass runtime request persistence.
|
|
97
|
+
|
|
98
|
+
Normative rule:
|
|
99
|
+
|
|
100
|
+
- dashboard intake -> server-side spec normalization/preview -> execution request submission -> supervisor enrollment
|
|
101
|
+
|
|
102
|
+
### 2.3 Multi-Spec Authoring Model
|
|
103
|
+
|
|
104
|
+
The Quick Launch page MUST support a batch of draft specs.
|
|
105
|
+
|
|
106
|
+
Each draft card contains:
|
|
107
|
+
|
|
108
|
+
- `feature_id`
|
|
109
|
+
- markdown source
|
|
110
|
+
- source type: `upload` or `paste`
|
|
111
|
+
- preview status
|
|
112
|
+
- validation errors, if any
|
|
113
|
+
|
|
114
|
+
The page MUST allow operators to:
|
|
115
|
+
|
|
116
|
+
- upload multiple `.md` files in one action
|
|
117
|
+
- paste one markdown block and add it as a draft
|
|
118
|
+
- paste multiple markdown blocks as separate drafts only if they are explicitly delimited by the UI flow; free-form auto-splitting is out of scope for v1
|
|
119
|
+
- remove drafts before submission
|
|
120
|
+
- submit one draft or all valid drafts
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 3. Functional Requirements
|
|
125
|
+
|
|
126
|
+
### FR-1 Dedicated Launch Navigation
|
|
127
|
+
|
|
128
|
+
The dashboard header or root-page control surface MUST include a visible link/button to the new Quick Launch route.
|
|
129
|
+
|
|
130
|
+
Acceptance criteria:
|
|
131
|
+
|
|
132
|
+
1. `/` exposes a non-hidden path to `/launch`.
|
|
133
|
+
2. `/launch` is reachable by keyboard and touch.
|
|
134
|
+
3. The current inline panel no longer owns the full intake workflow.
|
|
135
|
+
|
|
136
|
+
### FR-2 Markdown Upload and Paste
|
|
137
|
+
|
|
138
|
+
Quick Launch MUST accept either:
|
|
139
|
+
|
|
140
|
+
- file upload of one or more markdown files
|
|
141
|
+
- direct markdown paste into a draft composer
|
|
142
|
+
|
|
143
|
+
Acceptance criteria:
|
|
144
|
+
|
|
145
|
+
1. Uploaded files are read server-side or client-side and shown as draft specs before submission.
|
|
146
|
+
2. Pasted markdown is preserved exactly for preview and downstream ingestion.
|
|
147
|
+
3. Unsupported file types fail with inline validation, not silent ignore.
|
|
148
|
+
|
|
149
|
+
### FR-3 Rendered Markdown Preview
|
|
150
|
+
|
|
151
|
+
Each draft MUST have a rendered preview panel and a raw markdown editor/reader panel.
|
|
152
|
+
|
|
153
|
+
Acceptance criteria:
|
|
154
|
+
|
|
155
|
+
1. Markdown rendering happens before submission.
|
|
156
|
+
2. Preview and raw source stay synchronized.
|
|
157
|
+
3. Render failures degrade to raw markdown with an explicit warning.
|
|
158
|
+
|
|
159
|
+
### FR-4 Reuse `aop add` Semantics
|
|
160
|
+
|
|
161
|
+
Quick Launch MUST reuse the same core semantics as `aop add`:
|
|
162
|
+
|
|
163
|
+
- canonical feature resolution
|
|
164
|
+
- durable execution request submission
|
|
165
|
+
- active-run targeting
|
|
166
|
+
- request disposition tracking
|
|
167
|
+
|
|
168
|
+
Acceptance criteria:
|
|
169
|
+
|
|
170
|
+
1. Dashboard submissions create an execution request artifact, not an ad hoc state mutation.
|
|
171
|
+
2. The server path rejects submission when no active run is available.
|
|
172
|
+
3. Duplicate/terminal/already-queued handling matches the enrollment scheduler behavior already used by `aop add`.
|
|
173
|
+
|
|
174
|
+
### FR-5 Multi-Feature Add
|
|
175
|
+
|
|
176
|
+
The Quick Launch page MUST support batch submission of multiple valid specs in one request.
|
|
177
|
+
|
|
178
|
+
Acceptance criteria:
|
|
179
|
+
|
|
180
|
+
1. A single dashboard action can submit multiple feature specs.
|
|
181
|
+
2. Request ordering remains deterministic by draft order, then `feature_id`.
|
|
182
|
+
3. Partial validity is supported: invalid drafts block only themselves unless the operator chooses “submit all-or-none”.
|
|
183
|
+
|
|
184
|
+
### FR-6 Resume/Retry Dashboard Actions
|
|
185
|
+
|
|
186
|
+
Dashboard operators MUST be able to recover stalled or blocked features directly from dashboard surfaces.
|
|
187
|
+
|
|
188
|
+
Rules:
|
|
189
|
+
|
|
190
|
+
- `blocked` features with retry-eligible evidence use the existing retry path.
|
|
191
|
+
- `stalled` features use resumable re-enrollment semantics aligned to `aop add --resume`.
|
|
192
|
+
- the UI label MAY be unified (`Resume / Retry`) but the backend action MUST preserve the correct semantic path.
|
|
193
|
+
|
|
194
|
+
Acceptance criteria:
|
|
195
|
+
|
|
196
|
+
1. Root triage drawer and focus view both expose recovery affordances when the action is valid.
|
|
197
|
+
2. `stalled` does not incorrectly call the gate retry endpoint.
|
|
198
|
+
3. Recovery actions return updated action-state envelopes just like existing dashboard mutations.
|
|
199
|
+
|
|
200
|
+
### FR-7 Non-Intrusive Triage Drawer
|
|
201
|
+
|
|
202
|
+
The root-route triage drawer MUST stop blocking access to `Board`, `List`, and `Analytics`.
|
|
203
|
+
|
|
204
|
+
Normative layout rule:
|
|
205
|
+
|
|
206
|
+
- on desktop, the triage drawer must live inside the page grid below the header, not as an overlay that can cover top navigation
|
|
207
|
+
- on smaller breakpoints, it may become a sheet/drawer, but header navigation must remain reachable or the drawer must yield focus/space cleanly
|
|
208
|
+
|
|
209
|
+
Acceptance criteria:
|
|
210
|
+
|
|
211
|
+
1. Header controls remain clickable while a feature is selected.
|
|
212
|
+
2. Keyboard focus is not trapped unexpectedly on desktop.
|
|
213
|
+
3. The drawer still shows summary, actions, and “Open Focus View”.
|
|
214
|
+
|
|
215
|
+
### FR-8 Footer Links
|
|
216
|
+
|
|
217
|
+
The dashboard MUST include persistent footer links to:
|
|
218
|
+
|
|
219
|
+
- the GitHub repository
|
|
220
|
+
- the documentation
|
|
221
|
+
|
|
222
|
+
Acceptance criteria:
|
|
223
|
+
|
|
224
|
+
1. Links appear on root, launch, analytics, and focus routes through shared layout or shared footer composition.
|
|
225
|
+
2. URLs can come from configuration, environment, or package metadata fallback.
|
|
226
|
+
3. Missing configured URLs degrade to sensible repository-local defaults where possible.
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 4. API and UI Contracts
|
|
231
|
+
|
|
232
|
+
### 4.1 New Routes
|
|
233
|
+
|
|
234
|
+
Add:
|
|
235
|
+
|
|
236
|
+
- `GET /launch`
|
|
237
|
+
- `POST /api/launch/preview`
|
|
238
|
+
- `POST /api/launch/submit`
|
|
239
|
+
|
|
240
|
+
`/api/launch/preview` responsibilities:
|
|
241
|
+
|
|
242
|
+
- accept uploaded or pasted markdown drafts
|
|
243
|
+
- validate shape and derive candidate `feature_id`
|
|
244
|
+
- return rendered preview payloads and validation results
|
|
245
|
+
|
|
246
|
+
`/api/launch/submit` responsibilities:
|
|
247
|
+
|
|
248
|
+
- normalize approved drafts into execution-request payloads
|
|
249
|
+
- submit durable enrollment requests against the active run
|
|
250
|
+
- return per-draft outcomes and request ids
|
|
251
|
+
|
|
252
|
+
### 4.2 Draft Payload Shape
|
|
253
|
+
|
|
254
|
+
```json
|
|
255
|
+
{
|
|
256
|
+
"drafts": [
|
|
257
|
+
{
|
|
258
|
+
"draft_id": "draft_01",
|
|
259
|
+
"feature_id": "feature_checkout_flow",
|
|
260
|
+
"markdown": "# Feature Spec ...",
|
|
261
|
+
"source_type": "upload"
|
|
262
|
+
}
|
|
263
|
+
],
|
|
264
|
+
"mode": "submit_valid"
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### 4.3 Action Additions
|
|
269
|
+
|
|
270
|
+
Extend dashboard action handling with a resumable action path.
|
|
271
|
+
|
|
272
|
+
Recommended action names:
|
|
273
|
+
|
|
274
|
+
- `feature.resume`
|
|
275
|
+
- `feature.retry`
|
|
276
|
+
|
|
277
|
+
If the existing `feature.retry` name is retained for the UI, the server must still branch into resume vs retry logic based on feature state and action type rather than overloading one tool call blindly.
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## 5. File-Level Targets
|
|
282
|
+
|
|
283
|
+
- `packages/web-dashboard/src/app/page.tsx`
|
|
284
|
+
- replace root Quick Launch authoring with route link and compact status.
|
|
285
|
+
- `packages/web-dashboard/src/app/launch/page.tsx`
|
|
286
|
+
- new dedicated intake route.
|
|
287
|
+
- `packages/web-dashboard/src/app/layout.tsx`
|
|
288
|
+
- shared footer with repo/docs links.
|
|
289
|
+
- `packages/web-dashboard/src/app/api/launch/preview/route.ts`
|
|
290
|
+
- new preview endpoint.
|
|
291
|
+
- `packages/web-dashboard/src/app/api/launch/submit/route.ts`
|
|
292
|
+
- new submission endpoint wired to execution request submission.
|
|
293
|
+
- `packages/web-dashboard/src/app/api/actions/route.ts`
|
|
294
|
+
- add resume-aware dashboard recovery path.
|
|
295
|
+
- `packages/web-dashboard/src/components/quick-launch-panel.tsx`
|
|
296
|
+
- repurpose as compact link/status affordance or retire in favor of route-local components.
|
|
297
|
+
- `packages/web-dashboard/src/components/dashboard/triage-drawer.tsx`
|
|
298
|
+
- move to non-obstructive layout contract and add resume/retry affordances.
|
|
299
|
+
- `packages/web-dashboard/src/components/dashboard/command-center-header.tsx`
|
|
300
|
+
- add Quick Launch navigation entry.
|
|
301
|
+
- `packages/web-dashboard/src/lib/orchestrator-tools.ts`
|
|
302
|
+
- add execution-request submission helpers if required.
|
|
303
|
+
- `packages/web-dashboard/src/lib/types.ts`
|
|
304
|
+
- add launch draft/preview/submit payload types.
|
|
305
|
+
- `apps/control-plane/src/cli/spec-input-resolver.ts`
|
|
306
|
+
- reuse semantics only; dashboard must not fork spec parsing logic from the CLI path.
|
|
307
|
+
- `apps/control-plane/src/cli/spec-ingestion-service.ts`
|
|
308
|
+
- likely extraction target for dashboard/server reuse.
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## 6. Acceptance Criteria
|
|
313
|
+
|
|
314
|
+
1. Operators can navigate to a dedicated Quick Launch route from the dashboard.
|
|
315
|
+
2. Quick Launch accepts uploaded or pasted markdown and renders a preview before submission.
|
|
316
|
+
3. Quick Launch can submit multiple features in one action.
|
|
317
|
+
4. Submitted dashboard work enters the same durable active-run enrollment pipeline as `aop add`.
|
|
318
|
+
5. Blocked and stalled features can be recovered from dashboard surfaces using the correct underlying semantics.
|
|
319
|
+
6. The root triage drawer no longer obstructs root-route navigation controls.
|
|
320
|
+
7. Footer links to repo/docs are visible across dashboard routes.
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## 7. Risks and Mitigations
|
|
325
|
+
|
|
326
|
+
- Risk: dashboard implements a separate spec parser that diverges from CLI behavior.
|
|
327
|
+
- Mitigation: extract reusable normalization logic from existing CLI services instead of duplicating markdown-to-feature rules in the Next.js layer.
|
|
328
|
+
- Risk: batch submission hides partial failures.
|
|
329
|
+
- Mitigation: return per-draft outcomes and explicit request ids.
|
|
330
|
+
- Risk: resume and retry semantics get conflated for stalled vs blocked work.
|
|
331
|
+
- Mitigation: keep server-side state-driven branching explicit and test both flows separately.
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
> **Purpose of this document**: Define implementation-ready delivery for Q5 and Q6: compliance policy packs + control export, and production-grade dashboard authentication/authorization with audit federation.
|
|
4
4
|
|
|
5
|
-
**Version:** 1.
|
|
6
|
-
**Date:** 2026-03-
|
|
7
|
-
**Status:** Draft
|
|
5
|
+
**Version:** 1.1
|
|
6
|
+
**Date:** 2026-03-15
|
|
7
|
+
**Status:** Draft (Audited Against Current Repo State)
|
|
8
8
|
**Roadmap Mapping:** M37
|
|
9
9
|
|
|
10
10
|
---
|
|
@@ -27,6 +27,15 @@ Implementation MUST preserve:
|
|
|
27
27
|
- audit-log completeness for privileged operations
|
|
28
28
|
- optional/off-by-default behavior for local developer environments
|
|
29
29
|
|
|
30
|
+
### 0.3 Current Project State
|
|
31
|
+
|
|
32
|
+
This spec is still outstanding, but the dashboard/runtime baseline has advanced since the original draft:
|
|
33
|
+
|
|
34
|
+
- The web dashboard already exists and now routes most privileged mutations through `packages/web-dashboard/src/app/api/actions/route.ts`, with launch actions under `packages/web-dashboard/src/app/api/run/route.ts` and triage-state reads under `packages/web-dashboard/src/app/api/features/[id]/triage/route.ts`.
|
|
35
|
+
- A pluggable authorization seam already exists in `packages/web-dashboard/src/lib/authz-adapter.ts`, but it currently defaults to allow-all behavior and does not satisfy Q6.
|
|
36
|
+
- No compliance-pack assets, compliance export service/tool, real auth middleware, or dashboard audit-federation service exist yet.
|
|
37
|
+
- This spec must therefore build on the current dashboard seams rather than the older per-route action layout assumed in v1.0.
|
|
38
|
+
|
|
30
39
|
---
|
|
31
40
|
|
|
32
41
|
## 1. Objectives
|
|
@@ -247,10 +256,11 @@ Each action must map to role permission in policy.
|
|
|
247
256
|
### 4.2.6 File Targets
|
|
248
257
|
|
|
249
258
|
- `packages/web-dashboard/src/middleware.ts` (new)
|
|
250
|
-
- `packages/web-dashboard/src/lib/authz.ts`
|
|
259
|
+
- `packages/web-dashboard/src/lib/authz-adapter.ts`
|
|
251
260
|
- `packages/web-dashboard/src/app/api/auth/*` (new)
|
|
252
|
-
- `packages/web-dashboard/src/app/api/
|
|
253
|
-
- `packages/web-dashboard/src/app/api/
|
|
261
|
+
- `packages/web-dashboard/src/app/api/actions/route.ts`
|
|
262
|
+
- `packages/web-dashboard/src/app/api/run/route.ts`
|
|
263
|
+
- `packages/web-dashboard/src/app/api/features/[id]/triage/route.ts`
|
|
254
264
|
- `apps/control-plane/src/application/services/dashboard-audit-service.ts` (new)
|
|
255
265
|
|
|
256
266
|
### 4.2.7 Acceptance Criteria
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
> **Covers**: OID2 (Q4 Evidence Integrity) + OID3 (Q11 Doctor) + OID4 (CLI surface) + OID5 (Hardening)
|
|
5
5
|
> **Roadmap Mapping:** M33 / Q4 + Q11
|
|
6
6
|
|
|
7
|
-
**Version:** 1.
|
|
8
|
-
**Date:** 2026-03-
|
|
9
|
-
**Status:**
|
|
7
|
+
**Version:** 1.2
|
|
8
|
+
**Date:** 2026-03-16
|
|
9
|
+
**Status:** Draft (Audited Against Current Repo State)
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
|
|
15
15
|
### 0.1 Prerequisite
|
|
16
16
|
|
|
17
|
-
**
|
|
17
|
+
**Prerequisite status (2026-03-15): satisfied.** `agentic_orchestrator_observability_replay_spec` OID0/OID1/OID4 has been implemented in the repository.
|
|
18
|
+
|
|
19
|
+
This spec was originally blocked on that merge because it depends on shared observability scaffolding from the replay spec.
|
|
18
20
|
|
|
19
21
|
Specifically, that spec's OID0 must be complete, which provides:
|
|
20
22
|
|
|
@@ -31,7 +33,7 @@ grep -q "evidence_chain_missing" apps/control-plane/src/core/error-codes.ts
|
|
|
31
33
|
grep -q "evidence.verify_chain" agentic/orchestrator/tools/catalog.json
|
|
32
34
|
```
|
|
33
35
|
|
|
34
|
-
If either check fails,
|
|
36
|
+
If either check fails, assume the local branch has drifted or regressed and block on restoring the prerequisite scaffolding before continuing.
|
|
35
37
|
|
|
36
38
|
### 0.2 Required Standards
|
|
37
39
|
|
|
@@ -82,6 +84,33 @@ Out of scope:
|
|
|
82
84
|
- External KMS/HSM signing
|
|
83
85
|
- Remote telemetry backends
|
|
84
86
|
|
|
87
|
+
### 0.5 Current Project State
|
|
88
|
+
|
|
89
|
+
This spec was audited against the live repository on 2026-03-16.
|
|
90
|
+
|
|
91
|
+
Current status:
|
|
92
|
+
|
|
93
|
+
1. **Replay scaffolding is complete; evidence/doctor implementation is not.**
|
|
94
|
+
- `replay.timeline_get` and `aop replay` are implemented.
|
|
95
|
+
- `evidence.verify_chain` and `doctor.run` exist only as catalog entries plus stub schemas.
|
|
96
|
+
|
|
97
|
+
2. **There is currently no kernel or runtime handler wiring for evidence/doctor.**
|
|
98
|
+
- `apps/control-plane/src/application/kernel-tool-wiring.ts` and `apps/control-plane/src/core/kernel.ts` do not expose `evidence.verify_chain` or `doctor.run`.
|
|
99
|
+
- `agentic/orchestrator/policy.yaml` and `agentic/orchestrator/defaults/policy.defaults.yaml` do not currently grant RBAC access to either tool.
|
|
100
|
+
|
|
101
|
+
3. **There is currently no CLI surface for either feature.**
|
|
102
|
+
- `CliCommand`, `CliArgumentParser`, `COMMAND_CATALOG`, and CLI bootstrap do not include `doctor` or `evidence verify`.
|
|
103
|
+
- the spec must therefore describe the full command lifecycle against the current command-catalog architecture, not the older help-only command wiring model.
|
|
104
|
+
|
|
105
|
+
4. **`GateService.evidenceLatest()` still has the exact broad-scan behavior this spec warned about.**
|
|
106
|
+
- it still scans all `.json` files in the evidence directory when no mode is specified.
|
|
107
|
+
- this pre-work remains mandatory before chain metadata is introduced into that directory.
|
|
108
|
+
|
|
109
|
+
5. **The current stub schemas do not match the desired final contracts.**
|
|
110
|
+
- `evidence.verify_chain` output schema is still a loose placeholder.
|
|
111
|
+
- `doctor.run` input/output schemas are still placeholders and do not yet encode the report contract defined here.
|
|
112
|
+
- implementation must replace those stubs, not build around them.
|
|
113
|
+
|
|
85
114
|
---
|
|
86
115
|
|
|
87
116
|
## 1. Architectural Context
|
|
@@ -101,6 +130,8 @@ This fix must land before any chain files are written to the evidence directory.
|
|
|
101
130
|
- **Evidence write path**: `GateService.gatesRun()` + `core/gates.ts` is the authoritative source for gate evidence artifacts. `EvidenceIntegrityService` hooks into the GateService write path.
|
|
102
131
|
- **Read/report path**: `ReportingService` is the read aggregation surface. Integrity checks must not bypass service boundaries.
|
|
103
132
|
- **Config validation**: `SchemaRegistry` + `loadComposedPolicy` used by doctor for DRIFT_001/DRIFT_002 checks.
|
|
133
|
+
- **Current tool wiring seam**: kernel dispatch now flows through `apps/control-plane/src/application/kernel-tool-wiring.ts`; this spec must add evidence/doctor handlers there instead of assuming a monolithic switch-only kernel path.
|
|
134
|
+
- **Current CLI help/completion seam**: command usage/help metadata is centralized in `apps/control-plane/src/cli/command-catalog.ts`.
|
|
104
135
|
|
|
105
136
|
### 1.3 Boundary Rules (Normative)
|
|
106
137
|
|
|
@@ -324,7 +355,16 @@ doctorHistoryPath(ts: string): string // .aop/runtime/doctor/history/<ts>.j
|
|
|
324
355
|
- `apps/control-plane/src/application/services/evidence-integrity-service.ts` (new)
|
|
325
356
|
- `apps/control-plane/src/application/services/gate-service.ts` — fix `evidenceLatest`, add `EvidenceIntegrityService` integration
|
|
326
357
|
- `apps/control-plane/src/core/path-layout.ts` — evidence chain + doctor path helpers
|
|
327
|
-
- `apps/control-plane/src/core/
|
|
358
|
+
- `apps/control-plane/src/core/constants.ts`
|
|
359
|
+
- `apps/control-plane/src/application/tools/tool-metadata.ts`
|
|
360
|
+
- `apps/control-plane/src/core/kernel.ts`
|
|
361
|
+
- `apps/control-plane/src/application/kernel-tool-wiring.ts`
|
|
362
|
+
- `agentic/orchestrator/policy.yaml`
|
|
363
|
+
- `agentic/orchestrator/defaults/policy.defaults.yaml`
|
|
364
|
+
- `agentic/orchestrator/tools/catalog.json`
|
|
365
|
+
- `agentic/orchestrator/tools/schemas/input/evidence.verify_chain.input.schema.json` — replace stub
|
|
366
|
+
- `agentic/orchestrator/tools/schemas/output/evidence.verify_chain.output.schema.json` — replace stub
|
|
367
|
+
- `agentic/orchestrator/tools.md` — regenerate after replacing the stub contract
|
|
328
368
|
|
|
329
369
|
**Test plan**:
|
|
330
370
|
|
|
@@ -389,7 +429,16 @@ Implement deterministic scanner with fixed check IDs, strict severity, and stabl
|
|
|
389
429
|
- `apps/control-plane/src/application/services/doctor-service.ts` (new)
|
|
390
430
|
- `agentic/orchestrator/schemas/doctor_report.schema.json` (new — validates report output)
|
|
391
431
|
- `apps/control-plane/src/core/path-layout.ts` — doctor path helpers (if not already added in OID2)
|
|
392
|
-
- `apps/control-plane/src/core/
|
|
432
|
+
- `apps/control-plane/src/core/constants.ts`
|
|
433
|
+
- `apps/control-plane/src/application/tools/tool-metadata.ts`
|
|
434
|
+
- `apps/control-plane/src/core/kernel.ts`
|
|
435
|
+
- `apps/control-plane/src/application/kernel-tool-wiring.ts`
|
|
436
|
+
- `agentic/orchestrator/policy.yaml`
|
|
437
|
+
- `agentic/orchestrator/defaults/policy.defaults.yaml`
|
|
438
|
+
- `agentic/orchestrator/tools/catalog.json`
|
|
439
|
+
- `agentic/orchestrator/tools/schemas/input/doctor.run.input.schema.json` — replace stub
|
|
440
|
+
- `agentic/orchestrator/tools/schemas/output/doctor.run.output.schema.json` — replace stub
|
|
441
|
+
- `agentic/orchestrator/tools.md` — regenerate after replacing the stub contract
|
|
393
442
|
|
|
394
443
|
**Test plan**:
|
|
395
444
|
|
|
@@ -438,10 +487,12 @@ aop doctor [--strict] [--json]
|
|
|
438
487
|
1. `apps/control-plane/src/cli/types.ts` — add `CliCommand.Evidence`, `CliCommand.Doctor`; add `strict` option field
|
|
439
488
|
2. `apps/control-plane/src/cli/cli-argument-parser.ts` — parse `evidence verify` subcommand and `doctor`
|
|
440
489
|
3. `apps/control-plane/src/interfaces/cli/bootstrap.ts` — dispatch both commands to handlers
|
|
441
|
-
4. `apps/control-plane/src/cli/
|
|
490
|
+
4. `apps/control-plane/src/cli/command-catalog.ts` — add `evidence` and `doctor` command definitions so help/completion stay aligned
|
|
442
491
|
5. `apps/control-plane/src/cli/evidence-command-handler.ts` (new)
|
|
443
492
|
6. `apps/control-plane/src/cli/doctor-command-handler.ts` (new)
|
|
444
493
|
|
|
494
|
+
If `help-command-handler.ts` requires explicit updates beyond `COMMAND_CATALOG`, those updates must be made in the same change, but `command-catalog.ts` is now the primary help surface to keep aligned.
|
|
495
|
+
|
|
445
496
|
**Doctor CLI semantics**:
|
|
446
497
|
|
|
447
498
|
- Normal mode: exits non-zero if any critical finding present.
|
|
@@ -528,7 +579,7 @@ If any evidence pruning occurs (manual or policy-driven), chain integrity may fa
|
|
|
528
579
|
3. `aop doctor` produces deterministic, schema-valid findings with actionable remediations, sorted by check ID.
|
|
529
580
|
4. Doctor strict mode exits non-zero on warnings; normal mode exits non-zero only on criticals.
|
|
530
581
|
5. `evidence.verify_chain` and `doctor.run` tools are fully wired: constants / kernel / tool-metadata / catalog / schemas / RBAC / tools.md.
|
|
531
|
-
6. `aop evidence verify` and `aop doctor` commands are fully wired: types / parser /
|
|
582
|
+
6. `aop evidence verify` and `aop doctor` commands are fully wired: types / parser / command-catalog / bootstrap / handlers.
|
|
532
583
|
7. DRIFT_007 correctly fires when an integrity-tracked artifact is missing.
|
|
533
584
|
8. Quality gates pass: `lint`, `typecheck`, `test`, `validate:mcp-contracts`, `validate:architecture`.
|
|
534
585
|
|