@revisium/orchestrator 0.1.0-alpha.3 → 0.1.0-alpha.5
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/control-plane/bootstrap.config.json +57 -0
- package/control-plane/default-playbook/catalog/pipelines.json +317 -49
- package/control-plane/default-playbook/catalog/roles.json +9 -0
- package/control-plane/default-playbook/prompts/analyst.md +3 -1
- package/control-plane/default-playbook/prompts/developer.md +2 -1
- package/control-plane/default-playbook/prompts/reviewer.md +4 -3
- package/control-plane/default-playbook/prompts/triager.md +51 -0
- package/control-plane/default-playbook/prompts/watcher.md +2 -2
- package/dist/api/graphql-api/filters/graphql-validation-exception.filter.js +36 -0
- package/dist/api/graphql-api/filters/graphql-validation-exception.filter.js.map +1 -0
- package/dist/api/graphql-api/graphql-api.module.js +75 -0
- package/dist/api/graphql-api/graphql-api.module.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/constants.js +9 -0
- package/dist/api/graphql-api/graphql-ws/constants.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js +29 -0
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +101 -0
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +115 -0
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/subscription-mappers.js +85 -0
- package/dist/api/graphql-api/graphql-ws/subscription-mappers.js.map +1 -0
- package/dist/api/graphql-api/graphql-ws/ws.js +22 -0
- package/dist/api/graphql-api/graphql-ws/ws.js.map +1 -0
- package/dist/api/graphql-api/inbox/inbox-subscription.resolver.js +56 -0
- package/dist/api/graphql-api/inbox/inbox-subscription.resolver.js.map +1 -0
- package/dist/api/graphql-api/inbox/inbox.resolver.js +125 -0
- package/dist/api/graphql-api/inbox/inbox.resolver.js.map +1 -0
- package/dist/api/graphql-api/inbox/inputs/answer-question.input.js +33 -0
- package/dist/api/graphql-api/inbox/inputs/answer-question.input.js.map +1 -0
- package/dist/api/graphql-api/inbox/inputs/gate-decision.input.js +27 -0
- package/dist/api/graphql-api/inbox/inputs/gate-decision.input.js.map +1 -0
- package/dist/api/graphql-api/inbox/inputs/list-inbox.input.js +28 -0
- package/dist/api/graphql-api/inbox/inputs/list-inbox.input.js.map +1 -0
- package/dist/api/graphql-api/inbox/inputs/resolve-inbox-item.input.js +38 -0
- package/dist/api/graphql-api/inbox/inputs/resolve-inbox-item.input.js.map +1 -0
- package/dist/api/graphql-api/inbox/model/gate-risk.model.js +53 -0
- package/dist/api/graphql-api/inbox/model/gate-risk.model.js.map +1 -0
- package/dist/api/graphql-api/inbox/model/inbox-connection.model.js +16 -0
- package/dist/api/graphql-api/inbox/model/inbox-connection.model.js.map +1 -0
- package/dist/api/graphql-api/inbox/model/inbox-item.model.js +88 -0
- package/dist/api/graphql-api/inbox/model/inbox-item.model.js.map +1 -0
- package/dist/api/graphql-api/inbox/model/inbox-resolution.model.js +48 -0
- package/dist/api/graphql-api/inbox/model/inbox-resolution.model.js.map +1 -0
- package/dist/api/graphql-api/method/inputs/list-method.input.js +15 -0
- package/dist/api/graphql-api/method/inputs/list-method.input.js.map +1 -0
- package/dist/api/graphql-api/method/method.resolver.js +90 -0
- package/dist/api/graphql-api/method/method.resolver.js.map +1 -0
- package/dist/api/graphql-api/method/model/alternative-role-group.model.js +32 -0
- package/dist/api/graphql-api/method/model/alternative-role-group.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/pipeline-connection.model.js +16 -0
- package/dist/api/graphql-api/method/model/pipeline-connection.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/pipeline.model.js +69 -0
- package/dist/api/graphql-api/method/model/pipeline.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/playbook-connection.model.js +16 -0
- package/dist/api/graphql-api/method/model/playbook-connection.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/playbook.model.js +47 -0
- package/dist/api/graphql-api/method/model/playbook.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/role-connection.model.js +16 -0
- package/dist/api/graphql-api/method/model/role-connection.model.js.map +1 -0
- package/dist/api/graphql-api/method/model/role.model.js +98 -0
- package/dist/api/graphql-api/method/model/role.model.js.map +1 -0
- package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js +52 -0
- package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js.map +1 -0
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js +403 -0
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -0
- package/dist/api/graphql-api/pr/pr.resolver.js +76 -0
- package/dist/api/graphql-api/pr/pr.resolver.js.map +1 -0
- package/dist/api/graphql-api/registerGraphqlEnums.js +4 -0
- package/dist/api/graphql-api/registerGraphqlEnums.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/create-run.input.js +63 -0
- package/dist/api/graphql-api/runs/inputs/create-run.input.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/get-run-attempts.input.js +32 -0
- package/dist/api/graphql-api/runs/inputs/get-run-attempts.input.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/get-run-events.input.js +28 -0
- package/dist/api/graphql-api/runs/inputs/get-run-events.input.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/list-runs.input.js +23 -0
- package/dist/api/graphql-api/runs/inputs/list-runs.input.js.map +1 -0
- package/dist/api/graphql-api/runs/inputs/simulate-route.input.js +43 -0
- package/dist/api/graphql-api/runs/inputs/simulate-route.input.js.map +1 -0
- package/dist/api/graphql-api/runs/model/create-run-result.model.js +53 -0
- package/dist/api/graphql-api/runs/model/create-run-result.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-attempt.model.js +114 -0
- package/dist/api/graphql-api/runs/model/run-attempt.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-connection.model.js +16 -0
- package/dist/api/graphql-api/runs/model/run-connection.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-cost.model.js +67 -0
- package/dist/api/graphql-api/runs/model/run-cost.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-digest.model.js +41 -0
- package/dist/api/graphql-api/runs/model/run-digest.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-event-connection.model.js +16 -0
- package/dist/api/graphql-api/runs/model/run-event-connection.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-event.model.js +58 -0
- package/dist/api/graphql-api/runs/model/run-event.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-progress.model.js +33 -0
- package/dist/api/graphql-api/runs/model/run-progress.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run-workflow.model.js +287 -0
- package/dist/api/graphql-api/runs/model/run-workflow.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/run.model.js +57 -0
- package/dist/api/graphql-api/runs/model/run.model.js.map +1 -0
- package/dist/api/graphql-api/runs/model/usage.model.js +32 -0
- package/dist/api/graphql-api/runs/model/usage.model.js.map +1 -0
- package/dist/api/graphql-api/runs/run-digest.resolver.js +40 -0
- package/dist/api/graphql-api/runs/run-digest.resolver.js.map +1 -0
- package/dist/api/graphql-api/runs/run-events.resolver.js +45 -0
- package/dist/api/graphql-api/runs/run-events.resolver.js.map +1 -0
- package/dist/api/graphql-api/runs/run-progress.resolver.js +53 -0
- package/dist/api/graphql-api/runs/run-progress.resolver.js.map +1 -0
- package/dist/api/graphql-api/runs/runs-subscription.resolver.js +93 -0
- package/dist/api/graphql-api/runs/runs-subscription.resolver.js.map +1 -0
- package/dist/api/graphql-api/runs/runs.resolver.js +130 -0
- package/dist/api/graphql-api/runs/runs.resolver.js.map +1 -0
- package/dist/api/graphql-api/share/graphql-param-types.js +6 -0
- package/dist/api/graphql-api/share/graphql-param-types.js.map +1 -0
- package/dist/api/graphql-api/share/inputs/connection.input.js +27 -0
- package/dist/api/graphql-api/share/inputs/connection.input.js.map +1 -0
- package/dist/api/graphql-api/share/inputs/run-subscription.input.js +22 -0
- package/dist/api/graphql-api/share/inputs/run-subscription.input.js.map +1 -0
- package/dist/api/graphql-api/share/model/paginated.model.js +75 -0
- package/dist/api/graphql-api/share/model/paginated.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/daemon-status.model.js +47 -0
- package/dist/api/graphql-api/system/model/daemon-status.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/doctor-result.model.js +33 -0
- package/dist/api/graphql-api/system/model/doctor-result.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/project.model.js +37 -0
- package/dist/api/graphql-api/system/model/project.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/repository-context.model.js +70 -0
- package/dist/api/graphql-api/system/model/repository-context.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/repository-validation.model.js +62 -0
- package/dist/api/graphql-api/system/model/repository-validation.model.js.map +1 -0
- package/dist/api/graphql-api/system/model/system-status.model.js +29 -0
- package/dist/api/graphql-api/system/model/system-status.model.js.map +1 -0
- package/dist/api/graphql-api/system/system.resolver.js +83 -0
- package/dist/api/graphql-api/system/system.resolver.js.map +1 -0
- package/dist/cli/commands/inbox.js +1 -1
- package/dist/cli/commands/inbox.js.map +1 -1
- package/dist/cli/commands/run.js +0 -2
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/serve.js +26 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/program.js +2 -0
- package/dist/cli/program.js.map +1 -1
- package/dist/config.js +15 -0
- package/dist/config.js.map +1 -1
- package/dist/control-plane/change-notifications.js +35 -0
- package/dist/control-plane/change-notifications.js.map +1 -0
- package/dist/control-plane/data-access.js +10 -3
- package/dist/control-plane/data-access.js.map +1 -1
- package/dist/control-plane/inbox.js +5 -31
- package/dist/control-plane/inbox.js.map +1 -1
- package/dist/control-plane/index.js +1 -1
- package/dist/control-plane/index.js.map +1 -1
- package/dist/control-plane/json-fields.js +1 -0
- package/dist/control-plane/json-fields.js.map +1 -1
- package/dist/control-plane/resolve-cwd.js +76 -8
- package/dist/control-plane/resolve-cwd.js.map +1 -1
- package/dist/control-plane/schema-migration.js +7 -0
- package/dist/control-plane/schema-migration.js.map +1 -1
- package/dist/control-plane/steps.js +15 -349
- package/dist/control-plane/steps.js.map +1 -1
- package/dist/control-plane/tables.js +1 -0
- package/dist/control-plane/tables.js.map +1 -1
- package/dist/e2e/kit/agents.js +32 -9
- package/dist/e2e/kit/agents.js.map +1 -1
- package/dist/e2e/kit/assertions.js +37 -14
- package/dist/e2e/kit/assertions.js.map +1 -1
- package/dist/e2e/kit/drive.js +0 -4
- package/dist/e2e/kit/drive.js.map +1 -1
- package/dist/e2e/kit/fake-integrator.js +16 -1
- package/dist/e2e/kit/fake-integrator.js.map +1 -1
- package/dist/e2e/kit/gh-emulator.js +173 -10
- package/dist/e2e/kit/gh-emulator.js.map +1 -1
- package/dist/e2e/kit/git-target-repo.js +35 -3
- package/dist/e2e/kit/git-target-repo.js.map +1 -1
- package/dist/e2e/kit/harness.js +4 -2
- package/dist/e2e/kit/harness.js.map +1 -1
- package/dist/engine/dbos.module.js +2 -1
- package/dist/engine/dbos.module.js.map +1 -1
- package/dist/engine/dbos.service.js +69 -18
- package/dist/engine/dbos.service.js.map +1 -1
- package/dist/features/inbox/commands/handlers/inbox-command.handlers.js +80 -0
- package/dist/features/inbox/commands/handlers/inbox-command.handlers.js.map +1 -0
- package/dist/features/inbox/commands/impl/answer-question.command.js +7 -0
- package/dist/features/inbox/commands/impl/answer-question.command.js.map +1 -0
- package/dist/features/inbox/commands/impl/approve-gate.command.js +7 -0
- package/dist/features/inbox/commands/impl/approve-gate.command.js.map +1 -0
- package/dist/features/inbox/commands/impl/reject-gate.command.js +7 -0
- package/dist/features/inbox/commands/impl/reject-gate.command.js.map +1 -0
- package/dist/features/inbox/commands/impl/resolve-inbox-item.command.js +7 -0
- package/dist/features/inbox/commands/impl/resolve-inbox-item.command.js.map +1 -0
- package/dist/features/inbox/commands/index.js +8 -0
- package/dist/features/inbox/commands/index.js.map +1 -0
- package/dist/features/inbox/inbox-api.module.js +23 -0
- package/dist/features/inbox/inbox-api.module.js.map +1 -0
- package/dist/features/inbox/inbox-api.service.js +63 -0
- package/dist/features/inbox/inbox-api.service.js.map +1 -0
- package/dist/features/inbox/queries/handlers/inbox-query.handlers.js +111 -0
- package/dist/features/inbox/queries/handlers/inbox-query.handlers.js.map +1 -0
- package/dist/features/inbox/queries/impl/get-inbox-item.query.js +7 -0
- package/dist/features/inbox/queries/impl/get-inbox-item.query.js.map +1 -0
- package/dist/features/inbox/queries/impl/get-pending-decisions.query.js +7 -0
- package/dist/features/inbox/queries/impl/get-pending-decisions.query.js.map +1 -0
- package/dist/features/inbox/queries/impl/list-inbox.query.js +7 -0
- package/dist/features/inbox/queries/impl/list-inbox.query.js.map +1 -0
- package/dist/features/inbox/queries/impl/summarize-gate-risk.query.js +7 -0
- package/dist/features/inbox/queries/impl/summarize-gate-risk.query.js.map +1 -0
- package/dist/features/inbox/queries/index.js +8 -0
- package/dist/features/inbox/queries/index.js.map +1 -0
- package/dist/features/method/commands/index.js +2 -0
- package/dist/features/method/commands/index.js.map +1 -0
- package/dist/features/method/method-api.module.js +23 -0
- package/dist/features/method/method-api.module.js.map +1 -0
- package/dist/features/method/method-api.service.js +47 -0
- package/dist/features/method/method-api.service.js.map +1 -0
- package/dist/features/method/queries/handlers/method-query.handlers.js +115 -0
- package/dist/features/method/queries/handlers/method-query.handlers.js.map +1 -0
- package/dist/features/method/queries/impl/get-pipeline.query.js +7 -0
- package/dist/features/method/queries/impl/get-pipeline.query.js.map +1 -0
- package/dist/features/method/queries/impl/get-role.query.js +7 -0
- package/dist/features/method/queries/impl/get-role.query.js.map +1 -0
- package/dist/features/method/queries/impl/list-pipelines.query.js +7 -0
- package/dist/features/method/queries/impl/list-pipelines.query.js.map +1 -0
- package/dist/features/method/queries/impl/list-playbooks.query.js +7 -0
- package/dist/features/method/queries/impl/list-playbooks.query.js.map +1 -0
- package/dist/features/method/queries/impl/list-roles.query.js +7 -0
- package/dist/features/method/queries/impl/list-roles.query.js.map +1 -0
- package/dist/features/method/queries/index.js +9 -0
- package/dist/features/method/queries/index.js.map +1 -0
- package/dist/features/pr/commands/index.js +2 -0
- package/dist/features/pr/commands/index.js.map +1 -0
- package/dist/features/pr/pr-api.module.js +23 -0
- package/dist/features/pr/pr-api.module.js.map +1 -0
- package/dist/features/pr/pr-api.service.js +35 -0
- package/dist/features/pr/pr-api.service.js.map +1 -0
- package/dist/features/pr/queries/handlers/pr-query.handlers.js +48 -0
- package/dist/features/pr/queries/handlers/pr-query.handlers.js.map +1 -0
- package/dist/features/pr/queries/impl/get-pr-readiness.query.js +7 -0
- package/dist/features/pr/queries/impl/get-pr-readiness.query.js.map +1 -0
- package/dist/features/pr/queries/impl/list-pr-feedback.query.js +7 -0
- package/dist/features/pr/queries/impl/list-pr-feedback.query.js.map +1 -0
- package/dist/features/pr/queries/index.js +3 -0
- package/dist/features/pr/queries/index.js.map +1 -0
- package/dist/features/runs/commands/handlers/runs-command.handlers.js +32 -0
- package/dist/features/runs/commands/handlers/runs-command.handlers.js.map +1 -0
- package/dist/features/runs/commands/impl/create-run.command.js +7 -0
- package/dist/features/runs/commands/impl/create-run.command.js.map +1 -0
- package/dist/features/runs/commands/index.js +3 -0
- package/dist/features/runs/commands/index.js.map +1 -0
- package/dist/features/runs/queries/handlers/runs-query.handlers.js +224 -0
- package/dist/features/runs/queries/handlers/runs-query.handlers.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-attempts.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-attempts.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-digest.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-digest.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-events.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-events.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-progress.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-progress.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run-workflow.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run-workflow.query.js.map +1 -0
- package/dist/features/runs/queries/impl/get-run.query.js +7 -0
- package/dist/features/runs/queries/impl/get-run.query.js.map +1 -0
- package/dist/features/runs/queries/impl/list-runs.query.js +7 -0
- package/dist/features/runs/queries/impl/list-runs.query.js.map +1 -0
- package/dist/features/runs/queries/impl/simulate-route.query.js +7 -0
- package/dist/features/runs/queries/impl/simulate-route.query.js.map +1 -0
- package/dist/features/runs/queries/index.js +12 -0
- package/dist/features/runs/queries/index.js.map +1 -0
- package/dist/features/runs/runs-api.module.js +23 -0
- package/dist/features/runs/runs-api.module.js.map +1 -0
- package/dist/features/runs/runs-api.service.js +67 -0
- package/dist/features/runs/runs-api.service.js.map +1 -0
- package/dist/features/shared/connection.js +39 -0
- package/dist/features/shared/connection.js.map +1 -0
- package/dist/features/system/commands/index.js +2 -0
- package/dist/features/system/commands/index.js.map +1 -0
- package/dist/features/system/queries/handlers/system-query.handlers.js +96 -0
- package/dist/features/system/queries/handlers/system-query.handlers.js.map +1 -0
- package/dist/features/system/queries/impl/doctor.query.js +4 -0
- package/dist/features/system/queries/impl/doctor.query.js.map +1 -0
- package/dist/features/system/queries/impl/get-project.query.js +4 -0
- package/dist/features/system/queries/impl/get-project.query.js.map +1 -0
- package/dist/features/system/queries/impl/get-repository-context.query.js +7 -0
- package/dist/features/system/queries/impl/get-repository-context.query.js.map +1 -0
- package/dist/features/system/queries/impl/get-status.query.js +4 -0
- package/dist/features/system/queries/impl/get-status.query.js.map +1 -0
- package/dist/features/system/queries/impl/validate-repository.query.js +7 -0
- package/dist/features/system/queries/impl/validate-repository.query.js.map +1 -0
- package/dist/features/system/queries/index.js +9 -0
- package/dist/features/system/queries/index.js.map +1 -0
- package/dist/features/system/system-api.module.js +23 -0
- package/dist/features/system/system-api.module.js.map +1 -0
- package/dist/features/system/system-api.service.js +47 -0
- package/dist/features/system/system-api.service.js.map +1 -0
- package/dist/host/host.lifecycle.js +16 -3
- package/dist/host/host.lifecycle.js.map +1 -1
- package/dist/http/graphql-host.js +50 -0
- package/dist/http/graphql-host.js.map +1 -0
- package/dist/http/graphql-host.module.js +20 -0
- package/dist/http/graphql-host.module.js.map +1 -0
- package/dist/infrastructure/metrics/graphql/graphql-metrics.js +91 -0
- package/dist/infrastructure/metrics/graphql/graphql-metrics.js.map +1 -0
- package/dist/pipeline/await-human.js +8 -4
- package/dist/pipeline/await-human.js.map +1 -1
- package/dist/pipeline/data-driven-task.workflow.js +268 -29
- package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
- package/dist/pipeline/data-driven-template.js +3 -3
- package/dist/pipeline/pipeline.module.js +1 -1
- package/dist/pipeline/pipeline.module.js.map +1 -1
- package/dist/pipeline/{develop-task.workflow.js → pipeline.service.js} +44 -11
- package/dist/pipeline/pipeline.service.js.map +1 -0
- package/dist/pipeline-core/kit/builders.js +2 -0
- package/dist/pipeline-core/kit/builders.js.map +1 -1
- package/dist/pipeline-core/kit/fixtures.js +94 -0
- package/dist/pipeline-core/kit/fixtures.js.map +1 -1
- package/dist/pipeline-core/types.js +8 -0
- package/dist/pipeline-core/types.js.map +1 -1
- package/dist/pipeline-core/validate.js +160 -0
- package/dist/pipeline-core/validate.js.map +1 -1
- package/dist/revisium/run.service.js +24 -7
- package/dist/revisium/run.service.js.map +1 -1
- package/dist/run/create-run.js +5 -31
- package/dist/run/create-run.js.map +1 -1
- package/dist/run/inspect-run.js +2 -29
- package/dist/run/inspect-run.js.map +1 -1
- package/dist/run/run-outputs.js +88 -0
- package/dist/run/run-outputs.js.map +1 -0
- package/dist/run/terminal-run-status.js +7 -30
- package/dist/run/terminal-run-status.js.map +1 -1
- package/dist/runners/claude-code.service.js +1 -0
- package/dist/runners/claude-code.service.js.map +1 -1
- package/dist/runners/integrator.js +241 -5
- package/dist/runners/integrator.js.map +1 -1
- package/dist/runners/runner.module.js +3 -1
- package/dist/runners/runner.module.js.map +1 -1
- package/dist/runners/worktree.service.js +63 -0
- package/dist/runners/worktree.service.js.map +1 -0
- package/dist/task-control-plane/task-control-plane-api.service.js +293 -3
- package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
- package/dist/task-control-plane/task-control-plane.module.js +1 -2
- package/dist/task-control-plane/task-control-plane.module.js.map +1 -1
- package/dist/worker/build-context.js +17 -0
- package/dist/worker/build-context.js.map +1 -1
- package/dist/worker/claude-code-runner.js +13 -15
- package/dist/worker/claude-code-runner.js.map +1 -1
- package/dist/worker/git-worktree-manager.js +148 -0
- package/dist/worker/git-worktree-manager.js.map +1 -0
- package/dist/worker/result-envelope.js +41 -1
- package/dist/worker/result-envelope.js.map +1 -1
- package/dist/worker/runner.js.map +1 -1
- package/package.json +15 -7
- package/dist/pipeline/develop-task.workflow.js.map +0 -1
- package/dist/worker/worktree-manager.js +0 -7
- package/dist/worker/worktree-manager.js.map +0 -1
|
@@ -149,6 +149,7 @@
|
|
|
149
149
|
"id": "steps",
|
|
150
150
|
"schema": {
|
|
151
151
|
"type": "object",
|
|
152
|
+
"description": "DEPRECATED/unused — runtime path retired (audit §3.1, #86); no live path writes or reads a steps row (DBOS owns progress). Table drop deferred — a schema drop on existing control-planes is riskier than retiring the writes; tracked in docs/roadmap.md → Post-MVP cleanup.",
|
|
152
153
|
"additionalProperties": false,
|
|
153
154
|
"properties": {
|
|
154
155
|
"id": {
|
|
@@ -813,6 +814,62 @@
|
|
|
813
814
|
},
|
|
814
815
|
"required": []
|
|
815
816
|
}
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"id": "run_outputs",
|
|
820
|
+
"schema": {
|
|
821
|
+
"type": "object",
|
|
822
|
+
"additionalProperties": false,
|
|
823
|
+
"properties": {
|
|
824
|
+
"id": {
|
|
825
|
+
"type": "string",
|
|
826
|
+
"default": "",
|
|
827
|
+
"description": "Deterministic: out_<fnv1a64Hex(runId|nodeId|ordinal)>"
|
|
828
|
+
},
|
|
829
|
+
"run_id": {
|
|
830
|
+
"type": "string",
|
|
831
|
+
"default": ""
|
|
832
|
+
},
|
|
833
|
+
"node_id": {
|
|
834
|
+
"type": "string",
|
|
835
|
+
"default": ""
|
|
836
|
+
},
|
|
837
|
+
"ordinal": {
|
|
838
|
+
"type": "number",
|
|
839
|
+
"default": 0,
|
|
840
|
+
"description": "Adapter-owned per-(run,node) execution ordinal; 1,2,3 across loop iterations (0016 §4.1)"
|
|
841
|
+
},
|
|
842
|
+
"name": {
|
|
843
|
+
"type": "string",
|
|
844
|
+
"default": "",
|
|
845
|
+
"description": "Artifact name from the node's produces.name, e.g. plan"
|
|
846
|
+
},
|
|
847
|
+
"schema_ref": {
|
|
848
|
+
"type": "string",
|
|
849
|
+
"default": "",
|
|
850
|
+
"description": "resultSchema the payload was shape-checked against, e.g. schema:plan"
|
|
851
|
+
},
|
|
852
|
+
"payload": {
|
|
853
|
+
"type": "string",
|
|
854
|
+
"default": "",
|
|
855
|
+
"description": "Serialized JSON content, secret-redacted + size-capped at the adapter boundary"
|
|
856
|
+
},
|
|
857
|
+
"payload_ref": {
|
|
858
|
+
"type": "string",
|
|
859
|
+
"default": "",
|
|
860
|
+
"description": "Set instead of payload when the content exceeds the inline cap (0016 §8)"
|
|
861
|
+
},
|
|
862
|
+
"attempt_id": {
|
|
863
|
+
"type": "string",
|
|
864
|
+
"default": ""
|
|
865
|
+
},
|
|
866
|
+
"produced_at": {
|
|
867
|
+
"type": "string",
|
|
868
|
+
"default": ""
|
|
869
|
+
}
|
|
870
|
+
},
|
|
871
|
+
"required": []
|
|
872
|
+
}
|
|
816
873
|
}
|
|
817
874
|
],
|
|
818
875
|
"rows": [
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"orchestrator",
|
|
12
12
|
"analyst",
|
|
13
13
|
"reviewer",
|
|
14
|
+
"triager",
|
|
14
15
|
"developer",
|
|
15
16
|
"integrator",
|
|
16
17
|
"watcher"
|
|
@@ -36,7 +37,12 @@
|
|
|
36
37
|
"approved",
|
|
37
38
|
"clean",
|
|
38
39
|
"blocker",
|
|
39
|
-
"changes_requested"
|
|
40
|
+
"changes_requested",
|
|
41
|
+
"review_changes",
|
|
42
|
+
"ci_changes",
|
|
43
|
+
"fix",
|
|
44
|
+
"wontfix",
|
|
45
|
+
"question"
|
|
40
46
|
]
|
|
41
47
|
},
|
|
42
48
|
"nodes": {
|
|
@@ -46,15 +52,66 @@
|
|
|
46
52
|
"roleRef": "role:analyst",
|
|
47
53
|
"next": "planReviewer",
|
|
48
54
|
"onFailure": "abort",
|
|
49
|
-
"resultSchema": "schema:plan"
|
|
55
|
+
"resultSchema": "schema:plan",
|
|
56
|
+
"produces": {
|
|
57
|
+
"name": "plan"
|
|
58
|
+
},
|
|
59
|
+
"incrementCounters": [
|
|
60
|
+
"planReviewLoop"
|
|
61
|
+
]
|
|
50
62
|
},
|
|
51
63
|
"planReviewer": {
|
|
52
64
|
"id": "planReviewer",
|
|
53
65
|
"kind": "agent",
|
|
54
66
|
"roleRef": "role:reviewer",
|
|
55
|
-
"next": "
|
|
67
|
+
"next": "planReviewRouter",
|
|
56
68
|
"onFailure": "abort",
|
|
57
|
-
"resultSchema": "schema:reviewVerdict"
|
|
69
|
+
"resultSchema": "schema:reviewVerdict",
|
|
70
|
+
"consumes": [
|
|
71
|
+
{
|
|
72
|
+
"node": "analyst",
|
|
73
|
+
"as": "plan"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"planReviewRouter": {
|
|
78
|
+
"id": "planReviewRouter",
|
|
79
|
+
"kind": "choice",
|
|
80
|
+
"branches": [
|
|
81
|
+
{
|
|
82
|
+
"when": {
|
|
83
|
+
"op": "verdict.in",
|
|
84
|
+
"value": [
|
|
85
|
+
"approved",
|
|
86
|
+
"clean"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"goto": "planGate"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"when": {
|
|
93
|
+
"op": "all",
|
|
94
|
+
"of": [
|
|
95
|
+
{
|
|
96
|
+
"op": "verdict.in",
|
|
97
|
+
"value": [
|
|
98
|
+
"blocker",
|
|
99
|
+
"changes_requested"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"op": "counter.lt",
|
|
104
|
+
"scope": "planReviewLoop",
|
|
105
|
+
"value": 4
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"goto": "analyst"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"default": "blockedEnd"
|
|
113
|
+
}
|
|
114
|
+
]
|
|
58
115
|
},
|
|
59
116
|
"planGate": {
|
|
60
117
|
"id": "planGate",
|
|
@@ -82,7 +139,13 @@
|
|
|
82
139
|
"roleRef": "role:developer",
|
|
83
140
|
"next": "codeReview",
|
|
84
141
|
"onFailure": "abort",
|
|
85
|
-
"resultSchema": "schema:change"
|
|
142
|
+
"resultSchema": "schema:change",
|
|
143
|
+
"consumes": [
|
|
144
|
+
{
|
|
145
|
+
"node": "analyst",
|
|
146
|
+
"as": "plan"
|
|
147
|
+
}
|
|
148
|
+
]
|
|
86
149
|
},
|
|
87
150
|
"codeReview": {
|
|
88
151
|
"id": "codeReview",
|
|
@@ -146,7 +209,7 @@
|
|
|
146
209
|
"id": "integrator",
|
|
147
210
|
"kind": "script",
|
|
148
211
|
"scriptRef": "script:integrator",
|
|
149
|
-
"next": "
|
|
212
|
+
"next": "pollPr",
|
|
150
213
|
"catch": [
|
|
151
214
|
{
|
|
152
215
|
"onError": "revo.ScriptBlocked",
|
|
@@ -160,70 +223,219 @@
|
|
|
160
223
|
"onFailure": "route",
|
|
161
224
|
"resultSchema": "schema:integration"
|
|
162
225
|
},
|
|
163
|
-
"
|
|
164
|
-
"id": "
|
|
165
|
-
"kind": "
|
|
166
|
-
"
|
|
167
|
-
"
|
|
168
|
-
|
|
169
|
-
|
|
226
|
+
"mergeGate": {
|
|
227
|
+
"id": "mergeGate",
|
|
228
|
+
"kind": "humanGate",
|
|
229
|
+
"reason": "merge-review",
|
|
230
|
+
"outcomes": [
|
|
231
|
+
"approved"
|
|
232
|
+
],
|
|
233
|
+
"branches": [
|
|
234
|
+
{
|
|
235
|
+
"when": {
|
|
236
|
+
"op": "verdict.eq",
|
|
237
|
+
"value": "approved"
|
|
238
|
+
},
|
|
239
|
+
"goto": "confirmMerge"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"default": "blockedEnd"
|
|
243
|
+
}
|
|
244
|
+
]
|
|
245
|
+
},
|
|
246
|
+
"confirmMerge": {
|
|
247
|
+
"id": "confirmMerge",
|
|
248
|
+
"kind": "script",
|
|
249
|
+
"scriptRef": "script:confirmMerge",
|
|
250
|
+
"next": "mergedEnd",
|
|
251
|
+
"catch": [
|
|
252
|
+
{
|
|
253
|
+
"onError": "revo.ScriptBlocked",
|
|
254
|
+
"goto": "blockedEnd"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"onError": "revo.ScriptFailed",
|
|
258
|
+
"goto": "failedEnd"
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
"onFailure": "route",
|
|
262
|
+
"resultSchema": "schema:integration"
|
|
263
|
+
},
|
|
264
|
+
"mergedEnd": {
|
|
265
|
+
"id": "mergedEnd",
|
|
266
|
+
"kind": "terminal",
|
|
267
|
+
"status": "succeeded"
|
|
268
|
+
},
|
|
269
|
+
"failedEnd": {
|
|
270
|
+
"id": "failedEnd",
|
|
271
|
+
"kind": "terminal",
|
|
272
|
+
"status": "failed"
|
|
170
273
|
},
|
|
171
|
-
"
|
|
172
|
-
"id": "
|
|
274
|
+
"blockedEnd": {
|
|
275
|
+
"id": "blockedEnd",
|
|
276
|
+
"kind": "terminal",
|
|
277
|
+
"status": "blocked"
|
|
278
|
+
},
|
|
279
|
+
"pollPr": {
|
|
280
|
+
"id": "pollPr",
|
|
281
|
+
"kind": "script",
|
|
282
|
+
"scriptRef": "script:pollPr",
|
|
283
|
+
"next": "prRouter",
|
|
284
|
+
"onFailure": "route",
|
|
285
|
+
"resultSchema": "schema:prFeedback",
|
|
286
|
+
"produces": {
|
|
287
|
+
"name": "prFeedback"
|
|
288
|
+
},
|
|
289
|
+
"catch": [
|
|
290
|
+
{
|
|
291
|
+
"onError": "revo.ScriptBlocked",
|
|
292
|
+
"goto": "blockedEnd"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"onError": "revo.ScriptFailed",
|
|
296
|
+
"goto": "failedEnd"
|
|
297
|
+
}
|
|
298
|
+
]
|
|
299
|
+
},
|
|
300
|
+
"prRouter": {
|
|
301
|
+
"id": "prRouter",
|
|
173
302
|
"kind": "choice",
|
|
174
303
|
"branches": [
|
|
175
304
|
{
|
|
176
305
|
"when": {
|
|
177
|
-
"op": "verdict.
|
|
178
|
-
"value":
|
|
179
|
-
"approved",
|
|
180
|
-
"clean"
|
|
181
|
-
]
|
|
306
|
+
"op": "verdict.eq",
|
|
307
|
+
"value": "clean"
|
|
182
308
|
},
|
|
183
309
|
"goto": "mergeGate"
|
|
184
310
|
},
|
|
311
|
+
{
|
|
312
|
+
"when": {
|
|
313
|
+
"op": "verdict.eq",
|
|
314
|
+
"value": "review_changes"
|
|
315
|
+
},
|
|
316
|
+
"goto": "triage"
|
|
317
|
+
},
|
|
185
318
|
{
|
|
186
319
|
"when": {
|
|
187
320
|
"op": "all",
|
|
188
321
|
"of": [
|
|
189
322
|
{
|
|
190
|
-
"op": "verdict.
|
|
191
|
-
"value":
|
|
192
|
-
"blocker",
|
|
193
|
-
"changes_requested"
|
|
194
|
-
]
|
|
323
|
+
"op": "verdict.eq",
|
|
324
|
+
"value": "ci_changes"
|
|
195
325
|
},
|
|
196
326
|
{
|
|
197
327
|
"op": "counter.lt",
|
|
198
|
-
"scope": "
|
|
328
|
+
"scope": "ciLoop",
|
|
199
329
|
"value": 3
|
|
200
330
|
}
|
|
201
331
|
]
|
|
202
332
|
},
|
|
203
|
-
"goto": "
|
|
333
|
+
"goto": "ciRework"
|
|
204
334
|
},
|
|
205
335
|
{
|
|
206
336
|
"default": "blockedEnd"
|
|
207
337
|
}
|
|
208
338
|
]
|
|
209
339
|
},
|
|
210
|
-
"
|
|
211
|
-
"id": "
|
|
340
|
+
"ciRework": {
|
|
341
|
+
"id": "ciRework",
|
|
212
342
|
"kind": "agent",
|
|
213
343
|
"roleRef": "role:developer",
|
|
214
344
|
"next": "integrator",
|
|
215
345
|
"onFailure": "abort",
|
|
216
346
|
"resultSchema": "schema:change",
|
|
217
347
|
"incrementCounters": [
|
|
218
|
-
"
|
|
348
|
+
"ciLoop"
|
|
349
|
+
],
|
|
350
|
+
"consumes": [
|
|
351
|
+
{
|
|
352
|
+
"node": "pollPr",
|
|
353
|
+
"as": "feedback"
|
|
354
|
+
}
|
|
219
355
|
]
|
|
220
356
|
},
|
|
221
|
-
"
|
|
222
|
-
"id": "
|
|
357
|
+
"triage": {
|
|
358
|
+
"id": "triage",
|
|
359
|
+
"kind": "agent",
|
|
360
|
+
"roleRef": "role:triager",
|
|
361
|
+
"next": "triageRouter",
|
|
362
|
+
"onFailure": "abort",
|
|
363
|
+
"resultSchema": "schema:triage",
|
|
364
|
+
"produces": {
|
|
365
|
+
"name": "triage"
|
|
366
|
+
},
|
|
367
|
+
"consumes": [
|
|
368
|
+
{
|
|
369
|
+
"node": "analyst",
|
|
370
|
+
"as": "plan",
|
|
371
|
+
"staleOk": true
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"node": "pollPr",
|
|
375
|
+
"as": "feedback"
|
|
376
|
+
}
|
|
377
|
+
]
|
|
378
|
+
},
|
|
379
|
+
"triageRouter": {
|
|
380
|
+
"id": "triageRouter",
|
|
381
|
+
"kind": "choice",
|
|
382
|
+
"branches": [
|
|
383
|
+
{
|
|
384
|
+
"when": {
|
|
385
|
+
"op": "all",
|
|
386
|
+
"of": [
|
|
387
|
+
{
|
|
388
|
+
"op": "verdict.eq",
|
|
389
|
+
"value": "question"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"op": "counter.lt",
|
|
393
|
+
"scope": "questionLoop",
|
|
394
|
+
"value": 3
|
|
395
|
+
}
|
|
396
|
+
]
|
|
397
|
+
},
|
|
398
|
+
"goto": "questionGate"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"when": {
|
|
402
|
+
"op": "all",
|
|
403
|
+
"of": [
|
|
404
|
+
{
|
|
405
|
+
"op": "verdict.eq",
|
|
406
|
+
"value": "fix"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"op": "counter.lt",
|
|
410
|
+
"scope": "reviewLoop",
|
|
411
|
+
"value": 3
|
|
412
|
+
}
|
|
413
|
+
]
|
|
414
|
+
},
|
|
415
|
+
"goto": "reviewRework"
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"when": {
|
|
419
|
+
"op": "verdict.eq",
|
|
420
|
+
"value": "wontfix"
|
|
421
|
+
},
|
|
422
|
+
"goto": "respondThreads"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"default": "blockedEnd"
|
|
426
|
+
}
|
|
427
|
+
]
|
|
428
|
+
},
|
|
429
|
+
"questionGate": {
|
|
430
|
+
"id": "questionGate",
|
|
223
431
|
"kind": "humanGate",
|
|
224
|
-
"reason": "
|
|
432
|
+
"reason": "review-question",
|
|
225
433
|
"outcomes": [
|
|
226
|
-
"approved"
|
|
434
|
+
"approved",
|
|
435
|
+
"changes_requested"
|
|
436
|
+
],
|
|
437
|
+
"incrementCounters": [
|
|
438
|
+
"questionLoop"
|
|
227
439
|
],
|
|
228
440
|
"branches": [
|
|
229
441
|
{
|
|
@@ -231,30 +443,74 @@
|
|
|
231
443
|
"op": "verdict.eq",
|
|
232
444
|
"value": "approved"
|
|
233
445
|
},
|
|
234
|
-
"goto": "
|
|
446
|
+
"goto": "triage"
|
|
235
447
|
},
|
|
236
448
|
{
|
|
237
449
|
"default": "blockedEnd"
|
|
238
450
|
}
|
|
239
451
|
]
|
|
240
452
|
},
|
|
241
|
-
"
|
|
242
|
-
"id": "
|
|
243
|
-
"kind": "
|
|
244
|
-
"
|
|
453
|
+
"reviewRework": {
|
|
454
|
+
"id": "reviewRework",
|
|
455
|
+
"kind": "agent",
|
|
456
|
+
"roleRef": "role:developer",
|
|
457
|
+
"next": "reviewIntegrator",
|
|
458
|
+
"onFailure": "abort",
|
|
459
|
+
"resultSchema": "schema:change",
|
|
460
|
+
"incrementCounters": [
|
|
461
|
+
"reviewLoop"
|
|
462
|
+
],
|
|
463
|
+
"consumes": [
|
|
464
|
+
{
|
|
465
|
+
"node": "triage",
|
|
466
|
+
"as": "triage"
|
|
467
|
+
}
|
|
468
|
+
]
|
|
245
469
|
},
|
|
246
|
-
"
|
|
247
|
-
"id": "
|
|
248
|
-
"kind": "
|
|
249
|
-
"
|
|
470
|
+
"reviewIntegrator": {
|
|
471
|
+
"id": "reviewIntegrator",
|
|
472
|
+
"kind": "script",
|
|
473
|
+
"scriptRef": "script:integrator",
|
|
474
|
+
"next": "respondThreads",
|
|
475
|
+
"onFailure": "route",
|
|
476
|
+
"resultSchema": "schema:integration",
|
|
477
|
+
"catch": [
|
|
478
|
+
{
|
|
479
|
+
"onError": "revo.ScriptBlocked",
|
|
480
|
+
"goto": "blockedEnd"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"onError": "revo.ScriptFailed",
|
|
484
|
+
"goto": "failedEnd"
|
|
485
|
+
}
|
|
486
|
+
]
|
|
250
487
|
},
|
|
251
|
-
"
|
|
252
|
-
"id": "
|
|
253
|
-
"kind": "
|
|
254
|
-
"
|
|
488
|
+
"respondThreads": {
|
|
489
|
+
"id": "respondThreads",
|
|
490
|
+
"kind": "script",
|
|
491
|
+
"scriptRef": "script:respondThreads",
|
|
492
|
+
"next": "pollPr",
|
|
493
|
+
"onFailure": "route",
|
|
494
|
+
"resultSchema": "schema:respond",
|
|
495
|
+
"consumes": [
|
|
496
|
+
{
|
|
497
|
+
"node": "triage",
|
|
498
|
+
"as": "triage"
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"catch": [
|
|
502
|
+
{
|
|
503
|
+
"onError": "revo.ScriptBlocked",
|
|
504
|
+
"goto": "blockedEnd"
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"onError": "revo.ScriptFailed",
|
|
508
|
+
"goto": "failedEnd"
|
|
509
|
+
}
|
|
510
|
+
]
|
|
255
511
|
}
|
|
256
512
|
},
|
|
257
|
-
"title": "Feature development — plan + merge gates, bounded code-review
|
|
513
|
+
"title": "Feature development — plan + merge gates, bounded code-review rework, and a PR review-feedback loop (plan 0018)",
|
|
258
514
|
"policy": {
|
|
259
515
|
"conflicts": [
|
|
260
516
|
[
|
|
@@ -265,11 +521,23 @@
|
|
|
265
521
|
"enforcement": "strict"
|
|
266
522
|
},
|
|
267
523
|
"scopes": {
|
|
524
|
+
"planReviewLoop": {
|
|
525
|
+
"cap": 4,
|
|
526
|
+
"parent": null
|
|
527
|
+
},
|
|
268
528
|
"codeReviewLoop": {
|
|
269
529
|
"cap": 3,
|
|
270
530
|
"parent": null
|
|
271
531
|
},
|
|
272
|
-
"
|
|
532
|
+
"ciLoop": {
|
|
533
|
+
"cap": 3,
|
|
534
|
+
"parent": null
|
|
535
|
+
},
|
|
536
|
+
"reviewLoop": {
|
|
537
|
+
"cap": 3,
|
|
538
|
+
"parent": null
|
|
539
|
+
},
|
|
540
|
+
"questionLoop": {
|
|
273
541
|
"cap": 3,
|
|
274
542
|
"parent": null
|
|
275
543
|
}
|
|
@@ -52,5 +52,14 @@
|
|
|
52
52
|
"allowed_tools": ["Read", "Grep", "Glob", "Bash"],
|
|
53
53
|
"default_model_level": "cheap",
|
|
54
54
|
"runner_id": "claude-code"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "triager",
|
|
58
|
+
"path": "prompts/triager.md",
|
|
59
|
+
"surface": "repo",
|
|
60
|
+
"rights": "read-only",
|
|
61
|
+
"allowed_tools": ["Read", "Grep", "Glob", "Bash"],
|
|
62
|
+
"default_model_level": "deep",
|
|
63
|
+
"runner_id": "claude-code"
|
|
55
64
|
}
|
|
56
65
|
]
|
|
@@ -18,7 +18,9 @@ reviewer can check against. The plan is the artifact a human approves at the pla
|
|
|
18
18
|
|
|
19
19
|
## Output
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Put the full ordered plan (problem, scope, files to change, steps, risks, verification) in the result
|
|
22
|
+
`output` — the plan reviewer and the developer receive it verbatim as their input. Set the `verdict` field
|
|
23
|
+
to EXACTLY one of:
|
|
22
24
|
|
|
23
25
|
- `approved` — the task is well understood and the plan is ready for a developer.
|
|
24
26
|
- `changes_requested` — the request is ambiguous or under-specified; explain what is missing.
|
|
@@ -10,7 +10,8 @@ reviewer can approve it and the integrator can ship it.
|
|
|
10
10
|
|
|
11
11
|
## What to do
|
|
12
12
|
|
|
13
|
-
1. Implement the plan
|
|
13
|
+
1. Implement the plan provided in the **`## Inputs (from previous steps)`** section (the analyst's
|
|
14
|
+
`plan`). Do not gold-plate and do not expand scope beyond what was approved.
|
|
14
15
|
2. Follow the existing conventions of the codebase you are editing.
|
|
15
16
|
3. Run the project's verification (build, lint, tests) and fix what you broke.
|
|
16
17
|
4. On a rework pass (reviewer requested changes), address each reviewer finding directly.
|
|
@@ -11,17 +11,18 @@ are invoked in the pipeline.
|
|
|
11
11
|
|
|
12
12
|
## What to do
|
|
13
13
|
|
|
14
|
-
1. Read the plan
|
|
14
|
+
1. Read the `plan` provided in the **`## Inputs (from previous steps)`** section (plan review), or
|
|
15
|
+
the diff in the working tree (code review), and the surrounding code it touches.
|
|
15
16
|
2. Check correctness, scope creep, missing tests/verification, and risk (data, contracts,
|
|
16
17
|
security, migrations, concurrency, public API).
|
|
17
18
|
3. Be specific: cite the file and the concern. Distinguish must-fix from nice-to-have.
|
|
18
19
|
|
|
19
20
|
## Output
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
Set the result `verdict` field (the pipeline routes on it) to EXACTLY one of these tokens:
|
|
22
23
|
|
|
23
24
|
- `approved` — proceed; the work is correct and complete (nits are acceptable to defer).
|
|
24
25
|
- `changes_requested` — fixable issues that must be addressed before proceeding.
|
|
25
26
|
- `blocker` — a serious defect or risk that must be resolved (drives the bounded rework loop).
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
Put your actionable findings in `output`. You are read-only: never modify the working tree.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Triager
|
|
2
|
+
|
|
3
|
+
You are the **triager** role in a software delivery pipeline. You run AFTER the PR is open, when a
|
|
4
|
+
poll has found **unresolved review comments** (from human reviewers or review bots like CodeRabbit).
|
|
5
|
+
You read the actual diff and the threads, then decide — per thread — *whether* and *how* to respond.
|
|
6
|
+
You do not edit files; you read and reason.
|
|
7
|
+
|
|
8
|
+
## Goal
|
|
9
|
+
|
|
10
|
+
Convert each unresolved review thread into a concrete decision the developer and the reply step can
|
|
11
|
+
act on. Your output drives the next step: a `fix` is implemented by the developer and the threads are
|
|
12
|
+
replied + resolved; a `wontfix` is replied + resolved with your reason; a `question` is escalated to a
|
|
13
|
+
human at the review-question gate.
|
|
14
|
+
|
|
15
|
+
## Inputs
|
|
16
|
+
|
|
17
|
+
You receive (in the `## Inputs` section) the approved **plan** and the **prFeedback** the poll produced:
|
|
18
|
+
the PR number, head sha, failing CI checks, and the unresolved `reviewThreads`
|
|
19
|
+
(`{threadId, path, line, author, body}`). Read the diff (`git diff origin/<base>`) in the worktree to
|
|
20
|
+
judge each comment against the real change.
|
|
21
|
+
|
|
22
|
+
## What to do
|
|
23
|
+
|
|
24
|
+
1. Read the diff and the files each thread points at.
|
|
25
|
+
2. For EVERY unresolved thread, decide one of: `fix`, `wontfix`, or `question`.
|
|
26
|
+
- `fix` — the comment is valid; the developer should change the code. Give precise `guidance`.
|
|
27
|
+
- `wontfix` — the comment does not apply / is out of scope / is already handled. Give a short,
|
|
28
|
+
respectful `replyText` stating the reason (it is posted and the thread is auto-resolved).
|
|
29
|
+
- `question` — the comment is genuinely ambiguous and needs a human to decide. Put the question in
|
|
30
|
+
`replyText`; it is surfaced at the review-question gate.
|
|
31
|
+
3. If CI also failed, summarize the fix direction in `ciGuidance` for the developer.
|
|
32
|
+
|
|
33
|
+
## Output
|
|
34
|
+
|
|
35
|
+
Set the result `output` to a `triage` object:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
{
|
|
39
|
+
"items": [ { "threadId": "<id>", "decision": "fix|wontfix|question", "guidance": "<for the dev>", "replyText": "<to post>" } ],
|
|
40
|
+
"ciGuidance": "<optional>",
|
|
41
|
+
"needsHuman": <true if any item is a question>
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Set the `verdict` field to EXACTLY one of (decision order):
|
|
46
|
+
|
|
47
|
+
- `question` — at least one thread is a question (the human gate fires first).
|
|
48
|
+
- `fix` — no questions, but at least one thread needs a code change.
|
|
49
|
+
- `wontfix` — every thread is a wontfix (reply + resolve, no code change).
|
|
50
|
+
|
|
51
|
+
Keep it concise. You are read-only: never modify the working tree.
|
|
@@ -15,10 +15,10 @@ is not red, and nothing obviously broke.
|
|
|
15
15
|
|
|
16
16
|
## Output
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
Set the result `verdict` field (the pipeline routes on it) to EXACTLY one of these tokens:
|
|
19
19
|
|
|
20
20
|
- `clean` — the integrated change is healthy; proceed to the merge gate.
|
|
21
21
|
- `dirty` — something is wrong with the integration (drives rework/fail per the pipeline).
|
|
22
22
|
- `blocker` — a hard problem a human must resolve.
|
|
23
23
|
|
|
24
|
-
You are read-only: never modify the working tree.
|
|
24
|
+
Put your findings in `output`. You are read-only: never modify the working tree.
|