@wardby/cli 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deploy/local/docker-compose.quickstart-coding.yml +13 -0
- package/dist/claude-coding-worker/driver.d.ts +21 -3
- package/dist/claude-coding-worker/driver.js +125 -17
- package/dist/claude-coding-worker/main.js +34 -6
- package/dist/claude-coding-worker/sdk.js +12 -1
- package/dist/claude-coding-worker/tool-socket.d.ts +27 -0
- package/dist/claude-coding-worker/tool-socket.js +111 -0
- package/dist/claude-coding-worker/transcript.d.ts +18 -0
- package/dist/claude-coding-worker/transcript.js +77 -0
- package/dist/cli-help.d.ts +1 -1
- package/dist/cli-help.js +1 -0
- package/dist/cli.js +24 -10
- package/dist/coding/continuation-wording.d.ts +35 -0
- package/dist/coding/continuation-wording.js +73 -0
- package/dist/coding/linked-issue-note.d.ts +23 -0
- package/dist/coding/linked-issue-note.js +47 -0
- package/dist/coding/merge-wording.d.ts +28 -0
- package/dist/coding/merge-wording.js +78 -0
- package/dist/coding/pr-description-note.d.ts +9 -0
- package/dist/coding/pr-description-note.js +32 -0
- package/dist/coding/profile.d.ts +46 -126
- package/dist/coding/profile.js +45 -4
- package/dist/coding/protected-path-wording.d.ts +8 -0
- package/dist/coding/protected-path-wording.js +1 -1
- package/dist/coding/protocol.d.ts +264 -346
- package/dist/coding/protocol.js +235 -12
- package/dist/coding/redact.d.ts +3 -0
- package/dist/coding/redact.js +12 -0
- package/dist/coding/registry/allowlist.d.ts +12 -0
- package/dist/coding/registry/allowlist.js +14 -1
- package/dist/coding/registry/audit-mode.d.ts +153 -0
- package/dist/coding/registry/audit-mode.js +304 -0
- package/dist/coding/registry/lockfile-shared.d.ts +36 -0
- package/dist/coding/registry/lockfile-shared.js +128 -0
- package/dist/coding/registry/lockfiles.js +1 -1
- package/dist/coding/registry/npm-lockfile-formats.d.ts +11 -0
- package/dist/coding/registry/npm-lockfile-formats.js +41 -0
- package/dist/coding/registry/npm-lockfile.d.ts +8 -4
- package/dist/coding/registry/npm-lockfile.js +4 -6
- package/dist/coding/registry/npm.js +78 -8
- package/dist/coding/registry/pnpm-lockfile.d.ts +17 -0
- package/dist/coding/registry/pnpm-lockfile.js +189 -0
- package/dist/coding/registry/pypi-plan.d.ts +50 -0
- package/dist/coding/registry/pypi-plan.js +406 -0
- package/dist/coding/registry/pypi-requirements.d.ts +58 -0
- package/dist/coding/registry/pypi-requirements.js +155 -0
- package/dist/coding/registry/pypi.d.ts +3 -27
- package/dist/coding/registry/pypi.js +40 -154
- package/dist/coding/registry/refusal-hints.d.ts +20 -0
- package/dist/coding/registry/refusal-hints.js +61 -0
- package/dist/coding/registry/refusal-wording.d.ts +11 -0
- package/dist/coding/registry/refusal-wording.js +56 -0
- package/dist/coding/registry/report.d.ts +70 -8
- package/dist/coding/registry/report.js +112 -5
- package/dist/coding/registry/types.d.ts +58 -8
- package/dist/coding/registry/yarn-lockfile.d.ts +30 -0
- package/dist/coding/registry/yarn-lockfile.js +367 -0
- package/dist/coding/services/catalog.d.ts +37 -351
- package/dist/coding/transcript/claude-code.d.ts +13 -0
- package/dist/coding/transcript/claude-code.js +273 -0
- package/dist/coding/transcript/download-protocol.d.ts +30 -0
- package/dist/coding/transcript/download-protocol.js +18 -0
- package/dist/coding/transcript/format.d.ts +20 -0
- package/dist/coding/transcript/format.js +32 -0
- package/dist/coding/transcript/recorder.d.ts +51 -0
- package/dist/coding/transcript/recorder.js +225 -0
- package/dist/coding/transcript/resume/checkout.d.ts +31 -0
- package/dist/coding/transcript/resume/checkout.js +203 -0
- package/dist/coding/transcript/resume/command.d.ts +17 -0
- package/dist/coding/transcript/resume/command.js +176 -0
- package/dist/coding/transcript/resume/download.d.ts +20 -0
- package/dist/coding/transcript/resume/download.js +153 -0
- package/dist/coding/transcript/resume/launch.d.ts +38 -0
- package/dist/coding/transcript/resume/launch.js +128 -0
- package/dist/coding/transcript/resume/session-file.d.ts +13 -0
- package/dist/coding/transcript/resume/session-file.js +79 -0
- package/dist/coding/transcript/resume/stand-in.d.ts +11 -0
- package/dist/coding/transcript/resume/stand-in.js +49 -0
- package/dist/coding-worker/artifact.d.ts +8 -3
- package/dist/coding-worker/artifact.js +3 -1
- package/dist/coding-worker/debug-trace.d.ts +6 -5
- package/dist/coding-worker/debug-trace.js +13 -18
- package/dist/coding-worker/dependency-cache.d.mts +229 -0
- package/dist/coding-worker/dependency-cache.mjs +2123 -0
- package/dist/coding-worker/driver.d.ts +4 -3
- package/dist/coding-worker/driver.js +116 -38
- package/dist/coding-worker/errors.d.ts +1 -0
- package/dist/coding-worker/errors.js +32 -0
- package/dist/coding-worker/task-note.d.ts +11 -0
- package/dist/coding-worker/task-note.js +13 -0
- package/dist/coding-worker/types.d.ts +11 -0
- package/dist/config/dependency-cache.d.ts +23 -0
- package/dist/config/dependency-cache.js +32 -0
- package/dist/config/providers.d.ts +12 -3
- package/dist/config/providers.js +55 -5
- package/dist/config/test-simulators.d.ts +82 -0
- package/dist/config/test-simulators.js +305 -0
- package/dist/core/async-context.d.ts +2 -0
- package/dist/core/async-context.js +12 -0
- package/dist/core/budget-events.d.ts +108 -0
- package/dist/core/budget-events.js +346 -0
- package/dist/core/budget-groups.d.ts +50 -1
- package/dist/core/budget-groups.js +236 -27
- package/dist/core/budget-stopped-head.d.ts +46 -0
- package/dist/core/budget-stopped-head.js +81 -0
- package/dist/core/budget-topup.d.ts +51 -0
- package/dist/core/budget-topup.js +156 -0
- package/dist/core/budget-wording.d.ts +16 -2
- package/dist/core/budget-wording.js +40 -2
- package/dist/core/coding-queue.d.ts +2 -1
- package/dist/core/coding-queue.js +7 -0
- package/dist/core/cron.d.ts +19 -1
- package/dist/core/cron.js +17 -0
- package/dist/core/datastores.js +1 -1
- package/dist/core/deferred-coding.d.ts +14 -0
- package/dist/core/deferred-coding.js +62 -0
- package/dist/core/delegation-child.d.ts +25 -0
- package/dist/core/delegation-child.js +37 -0
- package/dist/core/dispatch.d.ts +42 -0
- package/dist/core/dispatch.js +131 -56
- package/dist/core/engine-native.js +1 -1
- package/dist/core/error-code.d.ts +38 -0
- package/dist/core/error-code.js +168 -0
- package/dist/core/grants.d.ts +19 -6
- package/dist/core/grants.js +55 -6
- package/dist/core/host-events.d.ts +18 -2
- package/dist/core/host-events.js +284 -24
- package/dist/core/host-status.d.ts +85 -3
- package/dist/core/host-status.js +298 -20
- package/dist/core/issue-bridge.d.ts +50 -6
- package/dist/core/issue-bridge.js +124 -33
- package/dist/core/issue-events.d.ts +1 -1
- package/dist/core/issue-events.js +4 -10
- package/dist/core/issue-status.d.ts +1 -1
- package/dist/core/issue-status.js +54 -26
- package/dist/core/logger.d.ts +5 -0
- package/dist/core/logger.js +14 -1
- package/dist/core/lost-run-children.d.ts +6 -0
- package/dist/core/lost-run-children.js +32 -0
- package/dist/core/mark-ready.d.ts +34 -0
- package/dist/core/mark-ready.js +152 -0
- package/dist/core/markdown-code.d.ts +8 -0
- package/dist/core/markdown-code.js +107 -0
- package/dist/core/memory-tools.js +7 -0
- package/dist/core/merge-order-check.d.ts +2 -1
- package/dist/core/merge-order-check.js +8 -1
- package/dist/core/notification-templates.d.ts +1 -7
- package/dist/core/notification-templates.js +36 -2
- package/dist/core/pull-request-state-sync.js +2 -2
- package/dist/core/reconciler.d.ts +4 -3
- package/dist/core/reconciler.js +8 -1
- package/dist/core/related-pull-requests.d.ts +11 -3
- package/dist/core/related-pull-requests.js +27 -14
- package/dist/core/reply-parts.d.ts +21 -0
- package/dist/core/reply-parts.js +73 -0
- package/dist/core/review-fix.d.ts +1 -1
- package/dist/core/review-fix.js +2 -1
- package/dist/core/review-host-checks.d.ts +1 -1
- package/dist/core/review-host-tools.d.ts +3 -0
- package/dist/core/review-host-tools.js +99 -13
- package/dist/core/review-reads.d.ts +55 -0
- package/dist/core/review-reads.js +233 -0
- package/dist/core/run-status.d.ts +12 -0
- package/dist/core/run-status.js +12 -0
- package/dist/core/runner.d.ts +80 -34
- package/dist/core/runner.js +439 -144
- package/dist/core/schedule-start.d.ts +12 -0
- package/dist/core/schedule-start.js +14 -0
- package/dist/core/secret-broker-config.d.ts +10 -74
- package/dist/core/secret-guard.d.ts +46 -0
- package/dist/core/secret-guard.js +104 -0
- package/dist/core/secret-guarded-stores.d.ts +12 -0
- package/dist/core/secret-guarded-stores.js +41 -0
- package/dist/core/secret-spans.d.ts +50 -0
- package/dist/core/secret-spans.js +94 -0
- package/dist/core/stop-run.d.ts +46 -0
- package/dist/core/stop-run.js +61 -0
- package/dist/core/workflow-events.d.ts +14 -2
- package/dist/core/workflow-events.js +4 -0
- package/dist/core/workflow-run-events.d.ts +5 -3
- package/dist/core/workflow-run-events.js +43 -8
- package/dist/core/zod-json-schema.d.ts +4 -0
- package/dist/core/zod-json-schema.js +39 -0
- package/dist/core/zod3-window.d.ts +35 -0
- package/dist/core/zod3-window.js +124 -0
- package/dist/generated/prisma/browser.d.ts +34 -3
- package/dist/generated/prisma/client.d.ts +34 -3
- package/dist/generated/prisma/commonInputTypes.d.ts +220 -60
- package/dist/generated/prisma/enums.d.ts +10 -0
- package/dist/generated/prisma/enums.js +8 -0
- package/dist/generated/prisma/internal/class.d.ts +44 -0
- package/dist/generated/prisma/internal/class.js +4 -4
- package/dist/generated/prisma/internal/prismaNamespace.d.ts +428 -9
- package/dist/generated/prisma/internal/prismaNamespace.js +92 -1
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +95 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +92 -1
- package/dist/generated/prisma/models/Agent.d.ts +106 -8
- package/dist/generated/prisma/models/AgentRepository.d.ts +42 -1
- package/dist/generated/prisma/models/CodingAgentProfile.d.ts +229 -1
- package/dist/generated/prisma/models/CodingProxyRequest.d.ts +207 -3
- package/dist/generated/prisma/models/CodingProxySession.d.ts +114 -1
- package/dist/generated/prisma/models/CodingRun.d.ts +1637 -1
- package/dist/generated/prisma/models/DependencySnapshot.d.ts +1668 -0
- package/dist/generated/prisma/models/DependencySnapshot.js +1 -0
- package/dist/generated/prisma/models/IssuePullRequest.d.ts +6 -2
- package/dist/generated/prisma/models/LocalReview.d.ts +40 -1
- package/dist/generated/prisma/models/NativeGatewayCall.d.ts +39 -1
- package/dist/generated/prisma/models/NativeGatewaySession.d.ts +35 -1
- package/dist/generated/prisma/models/RegistryAllowance.d.ts +41 -1
- package/dist/generated/prisma/models/RegistryApprovedVersion.d.ts +75 -1
- package/dist/generated/prisma/models/RegistryAuditRecord.d.ts +1364 -0
- package/dist/generated/prisma/models/RegistryAuditRecord.js +1 -0
- package/dist/generated/prisma/models/Run.d.ts +738 -2
- package/dist/generated/prisma/models/RunBudgetEvent.d.ts +1211 -0
- package/dist/generated/prisma/models/RunBudgetEvent.js +1 -0
- package/dist/generated/prisma/models/RunTranscript.d.ts +1339 -0
- package/dist/generated/prisma/models/RunTranscript.js +1 -0
- package/dist/generated/prisma/models.d.ts +4 -0
- package/dist/help-index.json +1320 -69
- package/dist/import/create.js +32 -3
- package/dist/import/neutral-schema.d.ts +50 -281
- package/dist/import/neutral-schema.js +5 -4
- package/dist/knowledge/check.d.ts +1 -1
- package/dist/knowledge/cli.d.ts +11 -1
- package/dist/knowledge/cli.js +37 -4
- package/dist/knowledge/concept.d.ts +3 -19
- package/dist/knowledge/location.d.ts +31 -0
- package/dist/knowledge/location.js +78 -0
- package/dist/mcp/auth/access.d.ts +10 -2
- package/dist/mcp/auth/access.js +15 -1
- package/dist/mcp/auth/ownership.d.ts +7 -7
- package/dist/mcp/auth/self-hosted/credentials.d.ts +3 -3
- package/dist/mcp/auth/self-hosted/session.d.ts +2 -2
- package/dist/mcp/host-events/github-ingress.d.ts +2 -0
- package/dist/mcp/host-events/github-ingress.js +2 -1
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.js +58 -10
- package/dist/mcp/server.d.ts +13 -0
- package/dist/mcp/server.js +33 -14
- package/dist/mcp/tools/agents.d.ts +4 -0
- package/dist/mcp/tools/agents.js +198 -16
- package/dist/mcp/tools/datastore.js +17 -8
- package/dist/mcp/tools/grants.js +9 -3
- package/dist/mcp/tools/memory.js +11 -1
- package/dist/mcp/tools/notification-channels.js +2 -2
- package/dist/mcp/tools/packages.d.ts +2 -0
- package/dist/mcp/tools/packages.js +195 -0
- package/dist/mcp/tools/repositories.js +18 -5
- package/dist/mcp/tools/run-access.d.ts +16 -0
- package/dist/mcp/tools/run-access.js +25 -0
- package/dist/mcp/tools/run-transcript-download.d.ts +30 -0
- package/dist/mcp/tools/run-transcript-download.js +129 -0
- package/dist/mcp/tools/run-transcript.d.ts +19 -0
- package/dist/mcp/tools/run-transcript.js +70 -0
- package/dist/mcp/tools/runs.js +34 -12
- package/dist/mcp/tools/scheduling.js +3 -1
- package/dist/mcp/tools/secret-elicitation-form.js +5 -0
- package/dist/mcp/tools/secret-elicitation-server.d.ts +6 -0
- package/dist/mcp/tools/secret-elicitation-server.js +10 -61
- package/dist/mcp/tools/secrets.js +2 -2
- package/dist/mcp/tools/stop-run.d.ts +2 -0
- package/dist/mcp/tools/stop-run.js +82 -0
- package/dist/mcp/tools/subagents.js +2 -2
- package/dist/mcp/tools/tools.d.ts +1 -1
- package/dist/mcp/tools/tools.js +25 -9
- package/dist/mcp/transport/stdio-link-host.d.ts +20 -0
- package/dist/mcp/transport/stdio-link-host.js +67 -0
- package/dist/mcp/transport/streamable-http.d.ts +13 -0
- package/dist/mcp/transport/streamable-http.js +41 -1
- package/dist/native-worker/docker-launcher.d.ts +38 -2
- package/dist/native-worker/docker-launcher.js +65 -5
- package/dist/native-worker/gateway-server.d.ts +41 -3
- package/dist/native-worker/gateway-server.js +124 -27
- package/dist/native-worker/gateway.d.ts +27 -1
- package/dist/native-worker/gateway.js +70 -4
- package/dist/native-worker/http-server.d.ts +3 -1
- package/dist/native-worker/http-server.js +11 -7
- package/dist/native-worker/http-transport.js +1 -1
- package/dist/native-worker/kubernetes-launcher.d.ts +7 -3
- package/dist/native-worker/kubernetes-launcher.js +43 -3
- package/dist/native-worker/launch.d.ts +18 -1
- package/dist/native-worker/launch.js +6 -1
- package/dist/native-worker/ledger.d.ts +18 -2
- package/dist/native-worker/ledger.js +57 -4
- package/dist/native-worker/loopback.js +3 -8
- package/dist/native-worker/main.d.ts +2 -1
- package/dist/native-worker/main.js +14 -3
- package/dist/native-worker/protocol.d.ts +129 -577
- package/dist/native-worker/protocol.js +47 -1
- package/dist/native-worker/sandbox-executor.d.ts +17 -2
- package/dist/native-worker/sandbox-executor.js +78 -4
- package/dist/native-worker/stderr-redaction.d.ts +77 -0
- package/dist/native-worker/stderr-redaction.js +237 -0
- package/dist/native-worker/stdio.d.ts +1 -1
- package/dist/native-worker/stdio.js +6 -5
- package/dist/native-worker/warm-pool.d.ts +2 -2
- package/dist/native-worker/warm-pool.js +4 -4
- package/dist/native-worker/worker.js +28 -2
- package/dist/observability/metrics.js +6 -1
- package/dist/providers/auth/self-hosted.d.ts +1 -1
- package/dist/providers/coding-proxy/dependency-cache/eviction.d.ts +29 -0
- package/dist/providers/coding-proxy/dependency-cache/eviction.js +87 -0
- package/dist/providers/coding-proxy/dependency-cache/key.d.ts +33 -0
- package/dist/providers/coding-proxy/dependency-cache/key.js +86 -0
- package/dist/providers/coding-proxy/dependency-cache/model-request-seal.d.ts +18 -0
- package/dist/providers/coding-proxy/dependency-cache/model-request-seal.js +40 -0
- package/dist/providers/coding-proxy/dependency-cache/prisma-store.d.ts +25 -0
- package/dist/providers/coding-proxy/dependency-cache/prisma-store.js +131 -0
- package/dist/providers/coding-proxy/dependency-cache/service.d.ts +70 -0
- package/dist/providers/coding-proxy/dependency-cache/service.js +409 -0
- package/dist/providers/coding-proxy/dependency-cache/store.d.ts +85 -0
- package/dist/providers/coding-proxy/dependency-cache/store.js +95 -0
- package/dist/providers/coding-proxy/hold.d.ts +32 -0
- package/dist/providers/coding-proxy/hold.js +86 -0
- package/dist/providers/coding-proxy/interrupted.d.ts +70 -0
- package/dist/providers/coding-proxy/interrupted.js +104 -0
- package/dist/providers/coding-proxy/memory-ledger.d.ts +15 -2
- package/dist/providers/coding-proxy/memory-ledger.js +84 -8
- package/dist/providers/coding-proxy/metering.d.ts +16 -0
- package/dist/providers/coding-proxy/metering.js +27 -4
- package/dist/providers/coding-proxy/prisma-ledger.d.ts +15 -2
- package/dist/providers/coding-proxy/prisma-ledger.js +179 -67
- package/dist/providers/coding-proxy/proxy.d.ts +14 -1
- package/dist/providers/coding-proxy/proxy.js +166 -14
- package/dist/providers/coding-proxy/registry/audit.d.ts +53 -10
- package/dist/providers/coding-proxy/registry/audit.js +94 -17
- package/dist/providers/coding-proxy/registry/lockfile-parse-worker.d.ts +36 -0
- package/dist/providers/coding-proxy/registry/lockfile-parse-worker.js +67 -0
- package/dist/providers/coding-proxy/registry/lockfile-parse.d.ts +16 -0
- package/dist/providers/coding-proxy/registry/lockfile-parse.js +110 -0
- package/dist/providers/coding-proxy/registry/plan.d.ts +9 -0
- package/dist/providers/coding-proxy/registry/plan.js +201 -48
- package/dist/providers/coding-proxy/registry/prisma-store.d.ts +11 -5
- package/dist/providers/coding-proxy/registry/prisma-store.js +120 -17
- package/dist/providers/coding-proxy/registry/service.d.ts +97 -16
- package/dist/providers/coding-proxy/registry/service.js +579 -112
- package/dist/providers/coding-proxy/registry/store.d.ts +84 -9
- package/dist/providers/coding-proxy/registry/store.js +54 -1
- package/dist/providers/coding-proxy/runtime.d.ts +4 -0
- package/dist/providers/coding-proxy/runtime.js +78 -16
- package/dist/providers/coding-proxy/server.d.ts +6 -1
- package/dist/providers/coding-proxy/server.js +45 -1
- package/dist/providers/coding-proxy/types.d.ts +65 -1
- package/dist/providers/datastore/types.d.ts +5 -0
- package/dist/providers/engine/types.d.ts +17 -2
- package/dist/providers/engine/types.js +17 -0
- package/dist/providers/executor/composition.d.ts +10 -3
- package/dist/providers/executor/composition.js +47 -7
- package/dist/providers/executor/container.d.ts +361 -8
- package/dist/providers/executor/container.js +1136 -91
- package/dist/providers/executor/dbos-status.d.ts +31 -0
- package/dist/providers/executor/dbos-status.js +64 -0
- package/dist/providers/executor/dbos.d.ts +50 -1
- package/dist/providers/executor/dbos.js +207 -20
- package/dist/providers/executor/deferred.d.ts +12 -24
- package/dist/providers/executor/deferred.js +10 -29
- package/dist/providers/executor/in-process.d.ts +9 -1
- package/dist/providers/executor/in-process.js +14 -4
- package/dist/providers/executor/linked-issue-reader.d.ts +16 -0
- package/dist/providers/executor/linked-issue-reader.js +30 -0
- package/dist/providers/executor/routing.d.ts +2 -0
- package/dist/providers/executor/routing.js +4 -0
- package/dist/providers/executor/types.d.ts +13 -0
- package/dist/providers/index.d.ts +2 -1
- package/dist/providers/issue-tracker/types.d.ts +17 -0
- package/dist/providers/issue-tracker/types.js +39 -1
- package/dist/providers/jobs/claude-tool-setup.d.ts +4 -0
- package/dist/providers/jobs/claude-tool-setup.js +5 -2
- package/dist/providers/jobs/docker-isolation.d.ts +8 -0
- package/dist/providers/jobs/docker-isolation.js +17 -0
- package/dist/providers/jobs/docker.d.ts +1 -0
- package/dist/providers/jobs/docker.js +27 -2
- package/dist/providers/jobs/fake-kubernetes-api.d.ts +2 -0
- package/dist/providers/jobs/fake-kubernetes-api.js +3 -0
- package/dist/providers/jobs/kubernetes-api.d.ts +8 -0
- package/dist/providers/jobs/kubernetes-api.js +10 -0
- package/dist/providers/jobs/kubernetes-client.js +10 -1
- package/dist/providers/jobs/kubernetes-isolation.d.ts +2 -0
- package/dist/providers/jobs/kubernetes-isolation.js +17 -1
- package/dist/providers/jobs/kubernetes.d.ts +6 -1
- package/dist/providers/jobs/kubernetes.js +105 -16
- package/dist/providers/jobs/types.d.ts +33 -0
- package/dist/providers/jobs/types.js +13 -1
- package/dist/providers/llm/anthropic.js +5 -1
- package/dist/providers/llm/bedrock.d.ts +0 -12
- package/dist/providers/llm/bedrock.js +4 -0
- package/dist/providers/llm/claude-messages.d.ts +3 -1
- package/dist/providers/llm/claude-messages.js +4 -1
- package/dist/providers/llm/claude-provider.d.ts +2 -2
- package/dist/providers/llm/claude-provider.js +2 -2
- package/dist/providers/llm/openai.d.ts +2 -2
- package/dist/providers/llm/openai.js +6 -2
- package/dist/providers/llm/routing.d.ts +2 -2
- package/dist/providers/llm/routing.js +2 -2
- package/dist/providers/llm/types.d.ts +12 -2
- package/dist/providers/review-host/github-events.d.ts +9 -1
- package/dist/providers/review-host/github-events.js +34 -12
- package/dist/providers/review-host/github.d.ts +29 -2
- package/dist/providers/review-host/github.js +224 -29
- package/dist/providers/review-host/local.d.ts +8 -4
- package/dist/providers/review-host/local.js +49 -31
- package/dist/providers/review-host/patch-pages.d.ts +41 -0
- package/dist/providers/review-host/patch-pages.js +176 -0
- package/dist/providers/review-host/review-format.d.ts +19 -1
- package/dist/providers/review-host/review-format.js +38 -7
- package/dist/providers/review-host/types.d.ts +134 -2
- package/dist/providers/review-host/types.js +8 -0
- package/dist/providers/storage/gcs.d.ts +63 -0
- package/dist/providers/storage/gcs.js +69 -0
- package/dist/providers/storage/index.d.ts +15 -0
- package/dist/providers/storage/index.js +14 -0
- package/dist/providers/storage/local.d.ts +24 -0
- package/dist/providers/storage/local.js +92 -0
- package/dist/providers/storage/meter.d.ts +14 -0
- package/dist/providers/storage/meter.js +34 -0
- package/dist/providers/storage/s3.d.ts +41 -0
- package/dist/providers/storage/s3.js +107 -0
- package/dist/providers/storage/types.d.ts +37 -3
- package/dist/providers/storage/types.js +21 -4
- package/dist/providers/vcs/git.d.ts +33 -2
- package/dist/providers/vcs/git.js +324 -22
- package/dist/providers/vcs/github-remote.d.ts +26 -3
- package/dist/providers/vcs/github-remote.js +124 -14
- package/dist/providers/vcs/github.d.ts +214 -6
- package/dist/providers/vcs/github.js +447 -45
- package/dist/providers/vcs/index.js +8 -1
- package/dist/providers/vcs/pr-description.d.ts +127 -0
- package/dist/providers/vcs/pr-description.js +270 -0
- package/dist/providers/vcs/remote.d.ts +33 -1
- package/dist/providers/vcs/routing.d.ts +4 -2
- package/dist/providers/vcs/routing.js +6 -0
- package/dist/providers/vcs/types.d.ts +80 -3
- package/dist/quickstart/coding-seed.d.ts +14 -3
- package/dist/quickstart/coding-seed.js +213 -4
- package/dist/quickstart/reviewer-prompt.d.ts +1 -1
- package/dist/quickstart/reviewer-prompt.js +6 -6
- package/dist/quickstart-images.json +1 -1
- package/dist/sandbox/generated/zod.bundle.js +62 -1
- package/dist/sandbox/generated/zod3.bundle.js +5 -0
- package/dist/sandbox/host-functions.d.ts +1 -0
- package/dist/sandbox/host-functions.js +6 -11
- package/dist/sandbox/secret-broker.js +3 -4
- package/dist/sandbox/tool-capabilities.d.ts +10 -30
- package/dist/sandbox/zod-params.d.ts +37 -5
- package/dist/sandbox/zod-params.js +181 -26
- package/dist/serve.js +8 -1
- package/dist/viewer/api-schema.d.ts +349 -2627
- package/dist/viewer/api-schema.js +7 -0
- package/dist/viewer/build-schemas.js +6 -2
- package/dist/viewer/openapi.js +2 -4
- package/dist/wardby-bin.js +10 -0
- package/docs/agent-recipes.md +58 -20
- package/docs/code-review-agents.md +551 -41
- package/docs/coding-agent-setup.md +489 -7
- package/docs/coding-packages.md +1033 -90
- package/docs/coding-services.md +27 -12
- package/docs/coding-worker-byo-images.md +20 -0
- package/docs/coding-worker-isolation.md +105 -30
- package/docs/getting-started-gke.md +124 -137
- package/docs/getting-started-identity-provider.md +10 -1
- package/docs/getting-started.md +9 -0
- package/docs/jira-agents.md +17 -8
- package/docs/knowledge/blob-not-found-semantics.md +41 -0
- package/docs/knowledge/bounded-file-descriptor.md +52 -0
- package/docs/knowledge/delegation-admission-slots.md +52 -0
- package/docs/knowledge/http-dispatcher-bootstrap.md +61 -0
- package/docs/knowledge/import-rename-target.md +52 -0
- package/docs/knowledge/index.md +57 -0
- package/docs/knowledge/log.md +9 -0
- package/docs/knowledge/mcp-cancelled-task-precedence.md +41 -0
- package/docs/knowledge/mcp-http-prompt-discovery.md +41 -0
- package/docs/knowledge/mcp-schema-module-boundary.md +41 -0
- package/docs/knowledge/nullable-tool-uniqueness.md +52 -0
- package/docs/knowledge/overview-cli.md +74 -0
- package/docs/knowledge/overview-coding-proxy.md +72 -0
- package/docs/knowledge/overview-coding.md +72 -0
- package/docs/knowledge/overview-config.md +60 -0
- package/docs/knowledge/overview-core.md +72 -0
- package/docs/knowledge/overview-deploy.md +83 -0
- package/docs/knowledge/overview-mcp.md +61 -0
- package/docs/knowledge/overview-prisma.md +72 -0
- package/docs/knowledge/overview-providers.md +89 -0
- package/docs/knowledge/overview-sandbox.md +83 -0
- package/docs/knowledge/overview-surfaces.md +83 -0
- package/docs/knowledge/private-datastore-shared-boundary.md +54 -0
- package/docs/knowledge/proxy-settlement-projections.md +41 -0
- package/docs/knowledge/run-pricing-first-writer.md +43 -0
- package/docs/knowledge/schedule-claim-transaction.md +41 -0
- package/docs/knowledge/secret-entry-replica-contract.md +52 -0
- package/docs/knowledge/terminal-run-first-writer.md +41 -0
- package/docs/knowledge/transactional-agent-authorization.md +52 -0
- package/docs/knowledge/viewer-notify-write-isolation.md +30 -0
- package/docs/knowledge/warm-input-publication.md +30 -0
- package/docs/knowledge/workspace-staging-failure.md +54 -0
- package/docs/knowledge.md +54 -14
- package/docs/native-sandbox.md +119 -23
- package/docs/observability.md +4 -0
- package/docs/security-deployment.md +33 -2
- package/docs/slack-notifications.md +35 -19
- package/docs/tool-secrets.md +42 -10
- package/docs/viewer-api.openapi.yml +1 -1
- package/help/admin-viewer.md +24 -2
- package/help/architecture-agent.md +11 -6
- package/help/build-worker-image.md +3 -1
- package/help/builder-agent.md +19 -6
- package/help/code-review-agents.md +177 -6
- package/help/coding-packages.md +156 -6
- package/help/cost-attribution.md +9 -5
- package/help/creating-agents.md +14 -1
- package/help/dependency-cache.md +143 -0
- package/help/deploy-gke.md +15 -8
- package/help/errors/budget-exhausted.md +187 -0
- package/help/errors/budget-group-exhausted.md +5 -1
- package/help/errors/coding-stream-quota-exceeded.md +33 -0
- package/help/errors/coding-workspace-disk-exceeds-limit.md +39 -0
- package/help/errors/continuation-closed.md +9 -12
- package/help/errors/delegation-conflict.md +24 -0
- package/help/errors/file-list-truncated.md +45 -0
- package/help/errors/full-read-required.md +49 -0
- package/help/errors/github-account-not-allowed.md +4 -0
- package/help/errors/graph-incomplete.md +43 -0
- package/help/errors/graph-limit.md +43 -0
- package/help/errors/merge-conflict.md +49 -0
- package/help/errors/native-sandbox-gateway-error.md +20 -0
- package/help/errors/native-sandbox-launch-abandoned.md +21 -0
- package/help/errors/native-sandbox-worker-exited.md +3 -2
- package/help/errors/package-not-allowed-pending.md +52 -0
- package/help/errors/package-not-allowed.md +51 -0
- package/help/errors/package-refusals.md +43 -0
- package/help/errors/patch-cursor-malformed.md +31 -0
- package/help/errors/run-lost.md +39 -0
- package/help/errors/run-transcript-download.md +44 -0
- package/help/errors/secret-in-value.md +69 -0
- package/help/errors/target-merge.md +40 -0
- package/help/fix-merge-conflicts.md +73 -0
- package/help/github-app-setup.md +132 -0
- package/help/github.md +22 -0
- package/help/identity-and-access.md +2 -0
- package/help/jira.md +23 -6
- package/help/knowledge.md +16 -7
- package/help/local-repositories.md +1 -1
- package/help/low-power-mode.md +7 -1
- package/help/merge-order-check.md +5 -0
- package/help/native-capabilities.md +29 -1
- package/help/native-sandbox.md +15 -1
- package/help/operating-agents.md +5 -0
- package/help/package-audit-mode.md +91 -0
- package/help/related-pull-requests.md +10 -7
- package/help/resume-runs-locally.md +131 -0
- package/help/review-fix-rounds.md +33 -1
- package/help/sharing-agents.md +59 -0
- package/help/slack-notifications.md +19 -5
- package/help/status-comments.md +31 -0
- package/help/stop-run.md +58 -0
- package/help/troubleshooting/budgets.md +28 -0
- package/help/troubleshooting/coding-workers.md +78 -7
- package/package.json +17 -10
- package/prisma/migrations/20261016000000_registry_approved_accepted_advisories/migration.sql +3 -0
- package/prisma/migrations/20261016000001_mark_ready_when_passing/migration.sql +3 -0
- package/prisma/migrations/20261017000000_debug_trace_max_mb/migration.sql +4 -0
- package/prisma/migrations/20261018000000_dependency_cache/migration.sql +53 -0
- package/prisma/migrations/20261019000000_claude_max_output_tokens/migration.sql +5 -0
- package/prisma/migrations/20261021000000_pr_description_hash/migration.sql +4 -0
- package/prisma/migrations/20261022000000_dependency_snapshot_validation_metadata/migration.sql +4 -0
- package/prisma/migrations/20261023000000_package_audit_mode/migration.sql +27 -0
- package/prisma/migrations/20261024000000_budget_events/migration.sql +26 -0
- package/prisma/migrations/20261025000000_cache_aware_holds/migration.sql +9 -0
- package/prisma/migrations/20261026000000_budget_overrun/migration.sql +4 -0
- package/prisma/migrations/20261027000000_coding_run_request/migration.sql +1 -0
- package/prisma/migrations/20261028000000_native_gateway_review_reads/migration.sql +6 -0
- package/prisma/migrations/20261029000000_lead_survives_deploy/migration.sql +6 -0
- package/prisma/migrations/20261030000000_local_review_covered_sha/migration.sql +2 -0
- package/prisma/migrations/20261031000000_coding_run_budget_limit/migration.sql +9 -0
- package/prisma/migrations/20261101000000_run_transcripts/migration.sql +22 -0
- package/prisma/schema.prisma +311 -97
- package/dist/sandbox/generated/zod-to-json-schema.bundle.js +0 -5
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: invariant
|
|
3
|
+
title: HTTP compatibility depends on bootstrap order
|
|
4
|
+
description: A Kubernetes client import can change built-in fetch behavior even when jobs use Docker.
|
|
5
|
+
tags: [bootstrap, http, providers]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-17T08:24:27.356Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: compatibility
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/core/http-runtime.ts#L5-L28
|
|
11
|
+
- id: install
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/core/http-runtime.ts#L92-L109
|
|
13
|
+
- id: bootstrap
|
|
14
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/env.ts#L11-L27
|
|
15
|
+
wardby:
|
|
16
|
+
schema: 1
|
|
17
|
+
roles: [planner, builder, reviewer]
|
|
18
|
+
affects:
|
|
19
|
+
[
|
|
20
|
+
"src/env.ts",
|
|
21
|
+
"src/core/http-runtime.ts",
|
|
22
|
+
"src/providers/executor/composition.ts",
|
|
23
|
+
"src/cli.ts",
|
|
24
|
+
"src/coding-proxy/main.ts",
|
|
25
|
+
]
|
|
26
|
+
citations:
|
|
27
|
+
- id: compatibility
|
|
28
|
+
repo: github:wardby/wardby
|
|
29
|
+
path: src/core/http-runtime.ts
|
|
30
|
+
lines: [5, 28]
|
|
31
|
+
symbol: HTTP dispatcher compatibility
|
|
32
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
33
|
+
spanHash: sha256:de45288094aaa10edabef6a2d28ee308536acda9d0a4b9cedb84794c6b4ee72d
|
|
34
|
+
- id: install
|
|
35
|
+
repo: github:wardby/wardby
|
|
36
|
+
path: src/core/http-runtime.ts
|
|
37
|
+
lines: [92, 109]
|
|
38
|
+
symbol: installHttpRuntime
|
|
39
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
40
|
+
spanHash: sha256:9799d701991e03e908d4a357cad85121fe8bcd147259d03be6e1c95345a0471c
|
|
41
|
+
- id: bootstrap
|
|
42
|
+
repo: github:wardby/wardby
|
|
43
|
+
path: src/env.ts
|
|
44
|
+
lines: [11, 27]
|
|
45
|
+
symbol: bootstrap imports
|
|
46
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
47
|
+
spanHash: sha256:71c46404eb01aceb2d30a7617bff1df60437a1ded819b7016fd9d8bc08a08363
|
|
48
|
+
confidence: high
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
Importing the Kubernetes client loads a different Undici generation, whose compatibility dispatcher can expose HTTP/2 headers in a shape Node's built-in fetch does not understand. The result is loss of response headers, affecting decompression and redirects across unrelated adapters. Executor composition imports that client even outside Kubernetes deployments.[^compatibility]
|
|
52
|
+
|
|
53
|
+
The shared environment bootstrap installs an HTTP/1-only dispatcher before other runtime work. Its installed marker makes repeated calls a no-op; it does not continuously enforce which dispatcher remains installed.[^install][^bootstrap]
|
|
54
|
+
|
|
55
|
+
**What to do:** keep the environment import first in runtime entry points and do not replace the global dispatcher later without preserving compatibility. Keep this bootstrap in the control-plane dependency tree; isolated coding-worker images have their own dependencies. See [configuration](overview-config.md) for the startup flow.
|
|
56
|
+
|
|
57
|
+
[^compatibility]: src/core/http-runtime.ts, lines 5-28.
|
|
58
|
+
|
|
59
|
+
[^install]: src/core/http-runtime.ts, lines 92-109.
|
|
60
|
+
|
|
61
|
+
[^bootstrap]: src/env.ts, lines 11-27.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: invariant
|
|
3
|
+
title: Import rename targets must be checked before creation
|
|
4
|
+
description: Renaming a colliding entity onto another existing name would silently adopt that entity through idempotent creation.
|
|
5
|
+
tags: [import, ownership, identity]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-16T18:34:00.557Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: rename
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be/src/import/preflight.ts#L38-L61
|
|
11
|
+
- id: abort
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be/src/import/index.ts#L98-L106
|
|
13
|
+
- id: upsert
|
|
14
|
+
url: https://github.com/wardby/wardby/blob/744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be/src/import/create.ts#L134-L155
|
|
15
|
+
wardby:
|
|
16
|
+
schema: 1
|
|
17
|
+
roles: [builder, reviewer]
|
|
18
|
+
affects: ["src/import/**"]
|
|
19
|
+
citations:
|
|
20
|
+
- id: rename
|
|
21
|
+
repo: github:wardby/wardby
|
|
22
|
+
path: src/import/preflight.ts
|
|
23
|
+
lines: [38, 61]
|
|
24
|
+
symbol: resolveCollision
|
|
25
|
+
sha: 744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be
|
|
26
|
+
spanHash: sha256:c9d7a0099b2a8da51423969af1f92d314287f0ae32fb708ebec731b2796fbee5
|
|
27
|
+
- id: abort
|
|
28
|
+
repo: github:wardby/wardby
|
|
29
|
+
path: src/import/index.ts
|
|
30
|
+
lines: [98, 106]
|
|
31
|
+
symbol: runImport
|
|
32
|
+
sha: 744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be
|
|
33
|
+
spanHash: sha256:e7463bf861fefd8157eaa21c951c8f635fe2b41d25f80e4d77c500eae82021a4
|
|
34
|
+
- id: upsert
|
|
35
|
+
repo: github:wardby/wardby
|
|
36
|
+
path: src/import/create.ts
|
|
37
|
+
lines: [134, 155]
|
|
38
|
+
symbol: createFromBundle
|
|
39
|
+
sha: 744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be
|
|
40
|
+
spanHash: sha256:010d97c925923a101c0cedb4d148e39f6ba70aec7b0f4e1d2355fddb4855e6a8
|
|
41
|
+
confidence: high
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
Preflight treats an occupied prefixed rename target as fatal even under the rename policy. The orchestrator returns before creation on fatal collisions; creation later upserts agents with an empty update branch.[^rename][^abort][^upsert]
|
|
45
|
+
|
|
46
|
+
**Why:** a free-looking rename that lands on an existing name can return the existing agent without changing it, after which import attachments would target that identity. Preserve target validation before idempotent creation; it is an identity boundary, not just nicer collision reporting.
|
|
47
|
+
|
|
48
|
+
[^rename]: src/import/preflight.ts, lines 38-61.
|
|
49
|
+
|
|
50
|
+
[^abort]: src/import/index.ts, lines 98-106.
|
|
51
|
+
|
|
52
|
+
[^upsert]: src/import/create.ts, lines 134-155.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Architecture knowledge
|
|
2
|
+
|
|
3
|
+
## Overviews
|
|
4
|
+
|
|
5
|
+
- [MCP management and authorization](overview-mcp.md) — Transport identity becomes scoped management calls over owned resources and explicit grants.
|
|
6
|
+
- [Configuration and process bootstrap](overview-config.md) — Environment loading precedes typed feature settings and provider composition.
|
|
7
|
+
- [Run admission and execution](overview-core.md) — Dispatch persists admitted work before executors drive native or coding runs and recovery settles orphans.
|
|
8
|
+
- [Coding inputs and isolated workers](overview-coding.md) — Shared protocols connect trusted run preparation to Codex or Claude Code workers and host finalization.
|
|
9
|
+
- [Coding proxy and package mediation](overview-coding-proxy.md) — Run capabilities gate model reservations, package policy and optional dependency snapshots.
|
|
10
|
+
- [Native tool and worker isolation](overview-sandbox.md) — QuickJS evaluates user tools while a run-bound gateway retains privileged effects and native worker authority.
|
|
11
|
+
- [Provider composition and routing](overview-providers.md) — Interfaces separate orchestration from concrete model, execution, identity, persistence and source-control adapters.
|
|
12
|
+
- [Durable data and migration boundaries](overview-prisma.md) — Relational definitions and migrations persist identity, run lifecycle, accounting and integration state.
|
|
13
|
+
- [Deployment topology and infrastructure](overview-deploy.md) — Terraform, Compose and Kubernetes assets connect trusted services to isolated workers and durable storage.
|
|
14
|
+
- [CLI bootstrap and bundle import](overview-cli.md) — Command entry points assemble local installations, invoke runtime services and reconcile imported resources.
|
|
15
|
+
- [Viewer, observability and knowledge tooling](overview-surfaces.md) — Read projections, metrics and cited knowledge expose runtime state and architecture without owning execution.
|
|
16
|
+
|
|
17
|
+
## Invariants
|
|
18
|
+
|
|
19
|
+
- [HTTP compatibility depends on bootstrap order](http-dispatcher-bootstrap.md) — A Kubernetes client import can change built-in fetch behavior even when jobs use Docker.
|
|
20
|
+
- [Pricing races must use the persisted winner](run-pricing-first-writer.md) — Concurrent native attempts must reuse the catalog terms that won the conditional pricing write.
|
|
21
|
+
- [Private datastore wrappers must reject shared methods](private-datastore-shared-boundary.md) — Prefix restrictions on private keys cannot authorize the provider shared-store methods.
|
|
22
|
+
- [Failed workspace fills must remain untrusted](workspace-staging-failure.md) — Collection failure must not expose a partially materialized worker tree to validation or trusted replacement.
|
|
23
|
+
- [Import rename targets must be checked before creation](import-rename-target.md) — Renaming a colliding entity onto another existing name would silently adopt that entity through idempotent creation.
|
|
24
|
+
- [Viewer notifications must not abort authoritative writes](viewer-notify-write-isolation.md) — The viewer trigger contains notification errors so event delivery cannot fail run persistence.
|
|
25
|
+
- [Blob absence must distinguish missing infrastructure](blob-not-found-semantics.md) — Mapping a storage outage to not_found can delete valid dependency snapshot metadata.
|
|
26
|
+
- [Warm input publication must refuse replacement](warm-input-publication.md) — Atomic visibility alone is insufficient when one warm worker may receive its capability only once.
|
|
27
|
+
- [Proxy usage projections must not govern settlement](proxy-settlement-projections.md) — Run totals are rebuilt from settled requests while per-model reporting failures are isolated by a savepoint.
|
|
28
|
+
- [Untrusted file bounds belong to the open descriptor](bounded-file-descriptor.md) — Checking a path before reading it leaves file substitution and growth races across worker boundaries.
|
|
29
|
+
- [Agent authorization must share the mutation transaction](transactional-agent-authorization.md) — Using the default access client inside a transaction disconnects grant reads from mutation isolation.
|
|
30
|
+
- [Budget-waiting delegations retain admission slots](delegation-admission-slots.md) — Releasing the delegation gate during a budget wait must preserve duplicate-child and delegation-limit accounting.
|
|
31
|
+
- [Schedule deduplication belongs to the transaction](schedule-claim-transaction.md) — A scheduler lease cannot replace the atomic schedule-window claim and run creation.
|
|
32
|
+
- [Terminal run state belongs to the first writer](terminal-run-first-writer.md) — Run completion must conditionally write pending or running rows and read back the persisted winner.
|
|
33
|
+
- [Task cancellation takes precedence over run status](mcp-cancelled-task-precedence.md) — A cancelled task remains cancelled even if its underlying run finishes with a different terminal outcome.
|
|
34
|
+
- [Secret entry replicas must share token verification](secret-entry-replica-contract.md) — A shared outcome database cannot complete a secret-entry round trip when replicas use independent signing keys.
|
|
35
|
+
|
|
36
|
+
## Decisions
|
|
37
|
+
|
|
38
|
+
- [MCP schemas cross the SDK boundary as JSON](mcp-schema-module-boundary.md) — Using the SDK schema converter avoids incompatible Zod instances at tool registration.
|
|
39
|
+
|
|
40
|
+
## Pitfalls
|
|
41
|
+
|
|
42
|
+
- [Nullable tool ownership leaves a uniqueness gap](nullable-tool-uniqueness.md) — The owner-and-name unique index does not deduplicate ownerless tools in PostgreSQL.
|
|
43
|
+
- [HTTP prompt discovery cannot use per-call identity](mcp-http-prompt-discovery.md) — The HTTP factory exposes everyone-readable agent prompts rather than the authenticated caller’s full agent set.
|
|
44
|
+
|
|
45
|
+
## Coverage
|
|
46
|
+
|
|
47
|
+
1. src/mcp/ (tools, auth, access, grants): covered 2026-10-17 (6 concepts)
|
|
48
|
+
2. src/config/ and env handling: covered 2026-10-17 (2 concepts)
|
|
49
|
+
3. src/core/ runner, scheduler, dispatch, budgets, delegation: covered 2026-10-17 (7 concepts)
|
|
50
|
+
4. src/coding/ and src/coding-worker/, src/claude-*/ (coding runs, workers): covered 2026-10-17 (2 concepts)
|
|
51
|
+
5. src/providers/coding-proxy/ (proxy, package registry): covered 2026-10-17 (3 concepts)
|
|
52
|
+
6. src/sandbox/ and src/native-worker/ (native sandbox, isolation): covered 2026-10-17 (3 concepts)
|
|
53
|
+
7. src/providers/ other seams (LLM, auth, storage, VCS, executors): covered 2026-10-17 (7 concepts)
|
|
54
|
+
8. prisma/ (schema, migrations): covered 2026-10-17 (3 concepts)
|
|
55
|
+
9. deploy/ (Terraform, Kubernetes, scripts): covered 2026-10-17 (2 concepts)
|
|
56
|
+
10. src/quickstart/, src/import/, the CLI files in src/: covered 2026-10-17 (4 concepts)
|
|
57
|
+
11. src/viewer/, src/observability/, src/knowledge/, src/tools/: covered 2026-10-17 (2 concepts)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Knowledge changes
|
|
2
|
+
|
|
3
|
+
- 2026-10-15: Created the bundle index; added invariants for transactional agent authorization, delegation admission slots, transactional schedule claims, and first-writer terminal run state.
|
|
4
|
+
|
|
5
|
+
- 2026-10-15: Added the coverage map, retaining existing MCP and core coverage; completed MCP and config discovery, added schema-boundary, HTTP prompt-discovery, task-cancellation and secret-entry replica contracts, and re-anchored three moved delegation citations. Later uncovered areas remain for the next coverage run.
|
|
6
|
+
|
|
7
|
+
- 2026-10-16: Completed coverage discovery for areas 4–11; added descriptor-bound file reads, proxy settlement projections, warm input publication, blob absence semantics, nullable tool uniqueness, viewer notification isolation, and import rename-target contracts. Re-anchored eight moved citations across delegation admission, schedule claims, terminal run state, and transactional authorization; existing claims remain current.
|
|
8
|
+
|
|
9
|
+
- 2026-10-17: Added one overview for each of the eleven coverage areas and completed discovery across all areas; added HTTP dispatcher bootstrap, first-writer pricing, private/shared datastore separation and failed workspace staging contracts. Existing citations and claims remain unchanged; refreshed coverage dates and counts, including overviews and cross-area concepts.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: invariant
|
|
3
|
+
title: Task cancellation takes precedence over run status
|
|
4
|
+
description: A cancelled task remains cancelled even if its underlying run finishes with a different terminal outcome.
|
|
5
|
+
tags: [mcp, execution, cancellation]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-15T11:18:44.473Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: read
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/0cd83fece6e5dafbb229aee4c293953e354cb42d/src/mcp/tasks/manager.ts#L108-L144
|
|
11
|
+
- id: cancel
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/0cd83fece6e5dafbb229aee4c293953e354cb42d/src/mcp/tasks/manager.ts#L155-L171
|
|
13
|
+
wardby:
|
|
14
|
+
schema: 1
|
|
15
|
+
roles: [builder, reviewer]
|
|
16
|
+
affects: ["src/mcp/tasks/**", "src/mcp/tools/trigger.ts"]
|
|
17
|
+
citations:
|
|
18
|
+
- id: read
|
|
19
|
+
repo: github:wardby/wardby
|
|
20
|
+
path: src/mcp/tasks/manager.ts
|
|
21
|
+
lines: [108, 144]
|
|
22
|
+
symbol: getTask
|
|
23
|
+
sha: 0cd83fece6e5dafbb229aee4c293953e354cb42d
|
|
24
|
+
spanHash: sha256:57fcf902067b811f63548e01e7008a5dfadd4504156904dc96ad26c68c323ea8
|
|
25
|
+
- id: cancel
|
|
26
|
+
repo: github:wardby/wardby
|
|
27
|
+
path: src/mcp/tasks/manager.ts
|
|
28
|
+
lines: [155, 171]
|
|
29
|
+
symbol: cancelTask
|
|
30
|
+
sha: 0cd83fece6e5dafbb229aee4c293953e354cb42d
|
|
31
|
+
spanHash: sha256:68e640003a1eb74a96bab385cde0c8a658df6a2902ca10cb76a39d35ad5f60b7
|
|
32
|
+
confidence: high
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
Ordinary task reads derive status from the run, but first return a persisted task cancellation without reading that run. Cancellation checks that the run is active, invokes the stop hook, then stamps the task cancelled; it does not stamp tasks whose runs were already terminal.[^read][^cancel]
|
|
36
|
+
|
|
37
|
+
**Why:** the run can finish between the active-state check and cancellation. Preserve the task-level precedence rather than synchronizing its status back from the run: cancellation of the task and the authoritative run outcome are separate facts. [Native sandbox](../native-sandbox.md) describes stopping execution; this concept records the task projection consequence.
|
|
38
|
+
|
|
39
|
+
[^read]: src/mcp/tasks/manager.ts, lines 108-144.
|
|
40
|
+
|
|
41
|
+
[^cancel]: src/mcp/tasks/manager.ts, lines 155-171.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: pitfall
|
|
3
|
+
title: HTTP prompt discovery cannot use per-call identity
|
|
4
|
+
description: The HTTP factory exposes everyone-readable agent prompts rather than the authenticated caller’s full agent set.
|
|
5
|
+
tags: [mcp, access, discovery]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-15T11:18:44.473Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: context
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/0cd83fece6e5dafbb229aee4c293953e354cb42d/src/mcp/server.ts#L211-L235
|
|
11
|
+
- id: prompts
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/0cd83fece6e5dafbb229aee4c293953e354cb42d/src/mcp/server.ts#L300-L332
|
|
13
|
+
wardby:
|
|
14
|
+
schema: 1
|
|
15
|
+
roles: [builder, reviewer]
|
|
16
|
+
affects: ["src/mcp/server.ts", "src/mcp/transport/**"]
|
|
17
|
+
citations:
|
|
18
|
+
- id: context
|
|
19
|
+
repo: github:wardby/wardby
|
|
20
|
+
path: src/mcp/server.ts
|
|
21
|
+
lines: [211, 235]
|
|
22
|
+
symbol: resolveCtx
|
|
23
|
+
sha: 0cd83fece6e5dafbb229aee4c293953e354cb42d
|
|
24
|
+
spanHash: sha256:e44772fb56c6bd94fe80f9a217ad26e1a5a580cd380f363db476fa206d4ba288
|
|
25
|
+
- id: prompts
|
|
26
|
+
repo: github:wardby/wardby
|
|
27
|
+
path: src/mcp/server.ts
|
|
28
|
+
lines: [300, 332]
|
|
29
|
+
symbol: factory
|
|
30
|
+
sha: 0cd83fece6e5dafbb229aee4c293953e354cb42d
|
|
31
|
+
spanHash: sha256:e2b7273522836d35f55b7bf068062a488b1eae0cd47520d35a67f89acd0f731f
|
|
32
|
+
confidence: high
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
HTTP identity is resolved from each dispatched call, after the server factory builds the prompt list. The factory therefore registers only agents granted at least read to everyone; stdio can use its already established fixed context. Failure to build this optional list does not prevent tool registration.[^context][^prompts]
|
|
36
|
+
|
|
37
|
+
**What to do:** do not treat a missing HTTP prompt as proof that the caller lacks agent access, or widen the factory’s query to all agents. Caller-specific discovery needs request identity before prompt registration.
|
|
38
|
+
|
|
39
|
+
[^context]: src/mcp/server.ts, lines 211-235.
|
|
40
|
+
|
|
41
|
+
[^prompts]: src/mcp/server.ts, lines 300-332.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: decision
|
|
3
|
+
title: MCP schemas cross the SDK boundary as JSON
|
|
4
|
+
description: Using the SDK schema converter avoids incompatible Zod instances at tool registration.
|
|
5
|
+
tags: [mcp, schemas, providers]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-15T11:18:44.473Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: schema
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/0cd83fece6e5dafbb229aee4c293953e354cb42d/src/mcp/server.ts#L55-L65
|
|
11
|
+
- id: registration
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/0cd83fece6e5dafbb229aee4c293953e354cb42d/src/mcp/server.ts#L256-L263
|
|
13
|
+
wardby:
|
|
14
|
+
schema: 1
|
|
15
|
+
roles: [builder, reviewer]
|
|
16
|
+
affects: ["src/mcp/server.ts", "src/mcp/tools/**"]
|
|
17
|
+
citations:
|
|
18
|
+
- id: schema
|
|
19
|
+
repo: github:wardby/wardby
|
|
20
|
+
path: src/mcp/server.ts
|
|
21
|
+
lines: [55, 65]
|
|
22
|
+
symbol: ToolSpec
|
|
23
|
+
sha: 0cd83fece6e5dafbb229aee4c293953e354cb42d
|
|
24
|
+
spanHash: sha256:bac668c827f34c5a3c952226092c734f54e2c50d0f66ac55a3c15a369b4cfb1b
|
|
25
|
+
- id: registration
|
|
26
|
+
repo: github:wardby/wardby
|
|
27
|
+
path: src/mcp/server.ts
|
|
28
|
+
lines: [256, 263]
|
|
29
|
+
symbol: factory
|
|
30
|
+
sha: 0cd83fece6e5dafbb229aee4c293953e354cb42d
|
|
31
|
+
spanHash: sha256:6d9cdfe4089e7c9f1be23fb35e8a348407bfc70a2dd611d04875f32ef287f0d3
|
|
32
|
+
confidence: high
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
The SDK bundles its own Zod module instance, so matching the package version does not make application Zod shapes compatible with its registration overload. Tool specs carry JSON Schema and registration converts it with the SDK’s own `fromJsonSchema`.[^schema][^registration]
|
|
36
|
+
|
|
37
|
+
**What to do:** keep schemas crossing this seam as plain JSON; replacing the converter with an application Zod shape can break registration even without a version mismatch.
|
|
38
|
+
|
|
39
|
+
[^schema]: src/mcp/server.ts, lines 55-65.
|
|
40
|
+
|
|
41
|
+
[^registration]: src/mcp/server.ts, lines 256-263.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: pitfall
|
|
3
|
+
title: Nullable tool ownership leaves a uniqueness gap
|
|
4
|
+
description: The owner-and-name unique index does not deduplicate ownerless tools in PostgreSQL.
|
|
5
|
+
tags: [database, tools, ownership]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-16T18:34:00.557Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: index
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be/prisma/migrations/20260925030000_tool_name_per_owner/migration.sql#L1-L11
|
|
11
|
+
- id: import
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be/src/import/create.ts#L112-L128
|
|
13
|
+
- id: cli
|
|
14
|
+
url: https://github.com/wardby/wardby/blob/744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be/src/cli.ts#L311-L318
|
|
15
|
+
wardby:
|
|
16
|
+
schema: 1
|
|
17
|
+
roles: [builder, reviewer]
|
|
18
|
+
affects: ["prisma/schema.prisma", "prisma/migrations/**", "src/cli.ts", "src/import/create.ts"]
|
|
19
|
+
citations:
|
|
20
|
+
- id: index
|
|
21
|
+
repo: github:wardby/wardby
|
|
22
|
+
path: prisma/migrations/20260925030000_tool_name_per_owner/migration.sql
|
|
23
|
+
lines: [1, 11]
|
|
24
|
+
symbol: Tool_ownerId_name_key
|
|
25
|
+
sha: 744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be
|
|
26
|
+
spanHash: sha256:d1a29163bd0e6398e8dd99442e8c24d32490d3c85dbc671e1636bd16ac8343f5
|
|
27
|
+
- id: import
|
|
28
|
+
repo: github:wardby/wardby
|
|
29
|
+
path: src/import/create.ts
|
|
30
|
+
lines: [112, 128]
|
|
31
|
+
symbol: createFromBundle
|
|
32
|
+
sha: 744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be
|
|
33
|
+
spanHash: sha256:ad43b75b4bbf957fbf0bffa2003df56bcf120d96261ef7d322101e69f1aaa903
|
|
34
|
+
- id: cli
|
|
35
|
+
repo: github:wardby/wardby
|
|
36
|
+
path: src/cli.ts
|
|
37
|
+
lines: [311, 318]
|
|
38
|
+
symbol: toolCreate
|
|
39
|
+
sha: 744d27eb926ccf7eafe52c98ac2af7f9bcd5c1be
|
|
40
|
+
spanHash: sha256:bec79921d22a9a3264b81b1996624bb967a79acd2884f58659650ceda1db4b08
|
|
41
|
+
confidence: high
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
PostgreSQL treats NULL owners as distinct in the compound tool-name index. CLI creation explicitly checks the ownerless namespace, and the importer uses findFirst plus create rather than a nullable compound upsert.[^index][^import][^cli]
|
|
45
|
+
|
|
46
|
+
**What to do:** preserve owner-scoped lookups, and do not assume the database index arbitrates concurrent ownerless creates. A read-before-create check can still race; any stronger uniqueness guarantee needs database enforcement for the NULL-owner case. For schema changes, see [CLAUDE.md, Database / Prisma](../../CLAUDE.md#database--prisma--strict).
|
|
47
|
+
|
|
48
|
+
[^index]: prisma/migrations/20260925030000_tool_name_per_owner/migration.sql, lines 1-11.
|
|
49
|
+
|
|
50
|
+
[^import]: src/import/create.ts, lines 112-128.
|
|
51
|
+
|
|
52
|
+
[^cli]: src/cli.ts, lines 311-318.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: overview
|
|
3
|
+
title: CLI bootstrap and bundle import
|
|
4
|
+
description: Command entry points assemble local installations, invoke runtime services and reconcile imported resources.
|
|
5
|
+
tags: [cli, quickstart, import]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-17T08:23:52.509Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: config
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/quickstart/index.ts#L433-L484
|
|
11
|
+
- id: seed
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/quickstart/index.ts#L484-L507
|
|
13
|
+
- id: import
|
|
14
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/import/index.ts#L72-L106
|
|
15
|
+
- id: serve
|
|
16
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/cli.ts#L1013-L1030
|
|
17
|
+
wardby:
|
|
18
|
+
schema: 1
|
|
19
|
+
roles: [planner, builder, reviewer]
|
|
20
|
+
affects: ["src/quickstart/**", "src/import/**", "src/cli*.ts", "src/serve.ts"]
|
|
21
|
+
citations:
|
|
22
|
+
- id: config
|
|
23
|
+
repo: github:wardby/wardby
|
|
24
|
+
path: src/quickstart/index.ts
|
|
25
|
+
lines: [433, 484]
|
|
26
|
+
symbol: quickstartCommand
|
|
27
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
28
|
+
spanHash: sha256:b37adfe4a639a53624a0ce50e771657129e6998d27f655b4f7c40d3f31aa7c8f
|
|
29
|
+
- id: seed
|
|
30
|
+
repo: github:wardby/wardby
|
|
31
|
+
path: src/quickstart/index.ts
|
|
32
|
+
lines: [484, 507]
|
|
33
|
+
symbol: quickstartCommand
|
|
34
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
35
|
+
spanHash: sha256:f4cf2db2dd78a46baa7b60419db278165a5784c6b1b644010e4c4784930966b2
|
|
36
|
+
- id: import
|
|
37
|
+
repo: github:wardby/wardby
|
|
38
|
+
path: src/import/index.ts
|
|
39
|
+
lines: [72, 106]
|
|
40
|
+
symbol: runImport
|
|
41
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
42
|
+
spanHash: sha256:5c2ae39ee543fad3e0a12717a7358556137a40f1dd6b64a7b8b962daeaf5f57d
|
|
43
|
+
- id: serve
|
|
44
|
+
repo: github:wardby/wardby
|
|
45
|
+
path: src/cli.ts
|
|
46
|
+
lines: [1013, 1030]
|
|
47
|
+
symbol: serve
|
|
48
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
49
|
+
spanHash: sha256:b2e4a9d5adf84699138e39a87b134e8eb8bbec07ceaf842e54ba3bcabef18116
|
|
50
|
+
confidence: high
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
The CLI is the bootstrap and operations entry point around [MCP](overview-mcp.md) and [core execution](overview-core.md). Quickstart owns project-local configuration and installation state; import converts a neutral bundle into owned definitions and bindings after reconciliation.[^config][^import]
|
|
54
|
+
|
|
55
|
+
A local installation proceeds through these steps:
|
|
56
|
+
|
|
57
|
+
1. Quickstart resolves the project directory, reuses saved configuration and chooses provider settings.
|
|
58
|
+
2. It writes the local environment and state, starts PostgreSQL and applies migrations.
|
|
59
|
+
3. It can seed and run a demo, configure coding agents and connect MCP clients. Doctor and lifecycle commands operate on that saved installation.
|
|
60
|
+
4. Runtime commands construct the appropriate process; serve starts the combined runtime and installs shutdown handling.[^config][^seed][^serve]
|
|
61
|
+
|
|
62
|
+
An import opens the bundle, determines routable models and supported tool globals, checks existing names and capabilities, and renders a reconciliation report. Dry runs and fatal collisions return before creation; approved imports then create resources and attachments.[^import]
|
|
63
|
+
|
|
64
|
+
This area owns local state files, command orchestration and import reports. Durable resources belong to [Prisma](overview-prisma.md); [configuration](overview-config.md) establishes environment precedence, [providers](overview-providers.md) supply adapters, and [deployment assets](overview-deploy.md) supply local service topologies.
|
|
65
|
+
|
|
66
|
+
**What to do:** preserve [rename-target validation](import-rename-target.md) and [ownerless tool uniqueness checks](nullable-tool-uniqueness.md) when changing creation. See [getting started](../getting-started.md) for operator setup.
|
|
67
|
+
|
|
68
|
+
[^config]: src/quickstart/index.ts, lines 433-484.
|
|
69
|
+
|
|
70
|
+
[^seed]: src/quickstart/index.ts, lines 484-507.
|
|
71
|
+
|
|
72
|
+
[^import]: src/import/index.ts, lines 72-106.
|
|
73
|
+
|
|
74
|
+
[^serve]: src/cli.ts, lines 1013-1030.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: overview
|
|
3
|
+
title: Coding proxy and package mediation
|
|
4
|
+
description: Run capabilities gate model reservations, package policy and optional dependency snapshots.
|
|
5
|
+
tags: [proxy, packages, budgets]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-17T08:22:32.722Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: runtime
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/providers/coding-proxy/runtime.ts#L83-L159
|
|
11
|
+
- id: session
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/providers/coding-proxy/proxy.ts#L978-L1020
|
|
13
|
+
- id: model
|
|
14
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/providers/coding-proxy/proxy.ts#L1041-L1094
|
|
15
|
+
- id: plan
|
|
16
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/providers/coding-proxy/registry/service.ts#L585-L632
|
|
17
|
+
wardby:
|
|
18
|
+
schema: 1
|
|
19
|
+
roles: [planner, builder, reviewer]
|
|
20
|
+
affects: ["src/providers/coding-proxy/**"]
|
|
21
|
+
citations:
|
|
22
|
+
- id: runtime
|
|
23
|
+
repo: github:wardby/wardby
|
|
24
|
+
path: src/providers/coding-proxy/runtime.ts
|
|
25
|
+
lines: [83, 159]
|
|
26
|
+
symbol: startConfiguredCodingProxy
|
|
27
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
28
|
+
spanHash: sha256:e0c409bf7f5d1198dc24c3e98979f711519b4b3c0630ad841d87b27db4d11206
|
|
29
|
+
- id: session
|
|
30
|
+
repo: github:wardby/wardby
|
|
31
|
+
path: src/providers/coding-proxy/proxy.ts
|
|
32
|
+
lines: [978, 1020]
|
|
33
|
+
symbol: CodingProxy.createSession
|
|
34
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
35
|
+
spanHash: sha256:976389493738ea51632f2dfbcf503b96f2506aa5105f82942efce825e075fb9e
|
|
36
|
+
- id: model
|
|
37
|
+
repo: github:wardby/wardby
|
|
38
|
+
path: src/providers/coding-proxy/proxy.ts
|
|
39
|
+
lines: [1041, 1094]
|
|
40
|
+
symbol: CodingProxy.execute
|
|
41
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
42
|
+
spanHash: sha256:b439b84431007b244f246836807cbae4b4a075c4bf1a1f618c11877e7d0082b7
|
|
43
|
+
- id: plan
|
|
44
|
+
repo: github:wardby/wardby
|
|
45
|
+
path: src/providers/coding-proxy/registry/service.ts
|
|
46
|
+
lines: [585, 632]
|
|
47
|
+
symbol: RegistryService.planLockfile / runPlan
|
|
48
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
49
|
+
spanHash: sha256:f3a6b41a918c6c88275abf0f72536341483cdcd1d3aceaf8e3b7e4821513413d
|
|
50
|
+
confidence: high
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
The coding proxy is the trusted egress and metering boundary for coding workers. Its runtime composes the persistent model ledger, registry service, vulnerability auditing and optional blob-backed dependency cache. Model and registry access use distinct credentials derived for the run.[^runtime][^session]
|
|
54
|
+
|
|
55
|
+
Requests proceed through these steps:
|
|
56
|
+
|
|
57
|
+
1. The executor creates a session with a model allowlist, deadline, budget and optional pinned catalog terms. Only hashes of run capabilities are persisted.
|
|
58
|
+
2. A model request authenticates the capability, checks protocol and body shape, verifies the model and reserves an estimated maximum cost before forwarding.
|
|
59
|
+
3. Authoritative provider usage settles the request and rebuilds run totals; uncertain requests retain accounting protection.
|
|
60
|
+
4. Package requests use the registry-only token. Lockfile planning authenticates the live run and holds a bounded plan slot before reading the body; policy and auditing determine which package bytes can be served. Optional dependency snapshots belong to the preparation phase.[^session][^model][^plan]
|
|
61
|
+
|
|
62
|
+
The area owns model-session and request accounting, registry facts and approvals, fetch records and snapshot metadata in [Prisma](overview-prisma.md). [Coding workers](overview-coding.md) consume its routes; [storage providers](overview-providers.md) hold cache blobs; [deployment](overview-deploy.md) enforces the worker-to-proxy network boundary.
|
|
63
|
+
|
|
64
|
+
**What to do:** preserve [settlement versus reporting isolation](proxy-settlement-projections.md) and [blob absence semantics](blob-not-found-semantics.md). See [package policy](../coding-packages.md) and [worker isolation](../coding-worker-isolation.md) for operator guidance.
|
|
65
|
+
|
|
66
|
+
[^runtime]: src/providers/coding-proxy/runtime.ts, lines 83-159.
|
|
67
|
+
|
|
68
|
+
[^session]: src/providers/coding-proxy/proxy.ts, lines 978-1020.
|
|
69
|
+
|
|
70
|
+
[^model]: src/providers/coding-proxy/proxy.ts, lines 1041-1094.
|
|
71
|
+
|
|
72
|
+
[^plan]: src/providers/coding-proxy/registry/service.ts, lines 585-632.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: overview
|
|
3
|
+
title: Coding inputs and isolated workers
|
|
4
|
+
description: Shared protocols connect trusted run preparation to Codex or Claude Code workers and host finalization.
|
|
5
|
+
tags: [coding, workers, protocol]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-17T08:22:32.722Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: protocol
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/coding/protocol.ts#L455-L496
|
|
11
|
+
- id: codex
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/coding-worker/driver.ts#L254-L294
|
|
13
|
+
- id: claude
|
|
14
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/claude-coding-worker/driver.ts#L190-L230
|
|
15
|
+
- id: finalize
|
|
16
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/providers/executor/container.ts#L1418-L1456
|
|
17
|
+
wardby:
|
|
18
|
+
schema: 1
|
|
19
|
+
roles: [planner, builder, reviewer]
|
|
20
|
+
affects: ["src/coding/**", "src/coding-worker/**", "src/claude-*/**"]
|
|
21
|
+
citations:
|
|
22
|
+
- id: protocol
|
|
23
|
+
repo: github:wardby/wardby
|
|
24
|
+
path: src/coding/protocol.ts
|
|
25
|
+
lines: [455, 496]
|
|
26
|
+
symbol: CodingTaskInputSchema
|
|
27
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
28
|
+
spanHash: sha256:36844670fcf073f1e0878415464265f3451b71a9cecf461c29c26b8fe7d92070
|
|
29
|
+
- id: codex
|
|
30
|
+
repo: github:wardby/wardby
|
|
31
|
+
path: src/coding-worker/driver.ts
|
|
32
|
+
lines: [254, 294]
|
|
33
|
+
symbol: runCodingWorker
|
|
34
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
35
|
+
spanHash: sha256:78250a51b5f468adbc3e4ce1ff44ce90b392b2f888076e509c4b702371378549
|
|
36
|
+
- id: claude
|
|
37
|
+
repo: github:wardby/wardby
|
|
38
|
+
path: src/claude-coding-worker/driver.ts
|
|
39
|
+
lines: [190, 230]
|
|
40
|
+
symbol: runClaudeCodingWorker
|
|
41
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
42
|
+
spanHash: sha256:9b1a14069b42a6e00381e6f2ace9cdd8db4b750ab5c0487740dd05e2c1b92a45
|
|
43
|
+
- id: finalize
|
|
44
|
+
repo: github:wardby/wardby
|
|
45
|
+
path: src/providers/executor/container.ts
|
|
46
|
+
lines: [1418, 1456]
|
|
47
|
+
symbol: ContainerExecutor.finishTerminal
|
|
48
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
49
|
+
spanHash: sha256:b3cdeb7fcdff43795af9bd3d0c18c02fa29d59c787adc3504a2c60be126d9fbc
|
|
50
|
+
confidence: high
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
This area defines bounded coding inputs and outputs, repository profiles and policies, and isolated execution programs. A shared protocol carries the task, model, deadline, budget and permitted run environment; both worker families return structured results for the trusted host to interpret.[^protocol]
|
|
54
|
+
|
|
55
|
+
A coding run proceeds through these steps:
|
|
56
|
+
|
|
57
|
+
1. [Core dispatch](overview-core.md) snapshots the coding profile; the [executor provider](overview-providers.md) prepares a workspace and launches the selected worker.
|
|
58
|
+
2. The Codex driver prepares package configuration and optional dependencies before starting its agent. Claude Code prepares dependencies and repository context before constructing its query; command execution is relayed to the separate tool runner.
|
|
59
|
+
3. Model traffic passes through the [coding proxy](overview-coding-proxy.md). Workers produce bounded structured output and workspace changes.
|
|
60
|
+
4. The host materializes the result, normalizes lockfiles, checks cost and repository access again, verifies the run remains active, then asks VCS finalization to publish the permitted outcome.[^codex][^claude][^finalize]
|
|
61
|
+
|
|
62
|
+
The area owns wire schemas, worker preparation and output artifacts. Durable CodingRun state belongs to [Prisma](overview-prisma.md); job isolation and VCS authority belong to providers, with images and network policy supplied by [deployment modules](overview-deploy.md).
|
|
63
|
+
|
|
64
|
+
**What to do:** read [descriptor-bound artifact reads](bounded-file-descriptor.md) and [staged workspace replacement](workspace-staging-failure.md) when changing collection. Keep operator details in [coding-agent setup](../coding-agent-setup.md) and [worker isolation](../coding-worker-isolation.md).
|
|
65
|
+
|
|
66
|
+
[^protocol]: src/coding/protocol.ts, lines 455-496.
|
|
67
|
+
|
|
68
|
+
[^codex]: src/coding-worker/driver.ts, lines 254-294.
|
|
69
|
+
|
|
70
|
+
[^claude]: src/claude-coding-worker/driver.ts, lines 190-230.
|
|
71
|
+
|
|
72
|
+
[^finalize]: src/providers/executor/container.ts, lines 1418-1456.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: overview
|
|
3
|
+
title: Configuration and process bootstrap
|
|
4
|
+
description: Environment loading precedes typed feature settings and provider composition.
|
|
5
|
+
tags: [config, environment, bootstrap]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: wardby-architect/gpt-6.1-sol, at: 2026-10-17T08:22:13.475Z }
|
|
8
|
+
sources:
|
|
9
|
+
- id: bootstrap
|
|
10
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/env.ts#L11-L27
|
|
11
|
+
- id: providers
|
|
12
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/config/providers.ts#L74-L87
|
|
13
|
+
- id: cache
|
|
14
|
+
url: https://github.com/wardby/wardby/blob/f4ac917fb05fd1118053462c98379c51289fed46/src/config/dependency-cache.ts#L36-L53
|
|
15
|
+
wardby:
|
|
16
|
+
schema: 1
|
|
17
|
+
roles: [planner, builder, reviewer]
|
|
18
|
+
affects: ["src/config/**", "src/env.ts"]
|
|
19
|
+
citations:
|
|
20
|
+
- id: bootstrap
|
|
21
|
+
repo: github:wardby/wardby
|
|
22
|
+
path: src/env.ts
|
|
23
|
+
lines: [11, 27]
|
|
24
|
+
symbol: dotenvFlow.config
|
|
25
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
26
|
+
spanHash: sha256:71c46404eb01aceb2d30a7617bff1df60437a1ded819b7016fd9d8bc08a08363
|
|
27
|
+
- id: providers
|
|
28
|
+
repo: github:wardby/wardby
|
|
29
|
+
path: src/config/providers.ts
|
|
30
|
+
lines: [74, 87]
|
|
31
|
+
symbol: loadProviderConfig
|
|
32
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
33
|
+
spanHash: sha256:32457f939e01bc19814b04ef4ed3d7d944416518080247c7d0e1eb318c5cc5f6
|
|
34
|
+
- id: cache
|
|
35
|
+
repo: github:wardby/wardby
|
|
36
|
+
path: src/config/dependency-cache.ts
|
|
37
|
+
lines: [36, 53]
|
|
38
|
+
symbol: loadDependencyCacheConfig
|
|
39
|
+
sha: f4ac917fb05fd1118053462c98379c51289fed46
|
|
40
|
+
spanHash: sha256:643c0433fac3665962e6b995781cabf909aa7bc43bd150d62c61bca7b140c564
|
|
41
|
+
confidence: high
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
Configuration turns process environment into provider selections and feature settings. Bootstrap first installs the process HTTP runtime, then loads the project-local Wardby environment before the project's own cascade. Existing process variables take precedence.[^bootstrap]
|
|
45
|
+
|
|
46
|
+
Startup proceeds through these steps:
|
|
47
|
+
|
|
48
|
+
1. An entry point imports bootstrap before modules consume environment values.
|
|
49
|
+
2. Loaders select provider kinds and parse settings for enabled integrations. The provider selector supplies defaults; feature loaders own additional validation.
|
|
50
|
+
3. Composition roots build adapters using those settings. A feature may remain unavailable without its prerequisite: dependency caching needs both its enable flag and blob-store configuration.[^bootstrap][^providers][^cache]
|
|
51
|
+
|
|
52
|
+
The area owns configuration shapes and validation, not durable settings or credential storage. [Providers](overview-providers.md) construct adapters; [coding workers](overview-coding.md), [native isolation](overview-sandbox.md) and the [coding proxy](overview-coding-proxy.md) consume their own subsets. [CLI bootstrap](overview-cli.md) writes project-local configuration, and [deployment modules](overview-deploy.md) supply remote process settings.
|
|
53
|
+
|
|
54
|
+
**What to do:** keep initialization order intact and validate through the relevant loader before starting listeners. The [HTTP dispatcher contract](http-dispatcher-bootstrap.md) explains why bootstrap order affects network correctness even without Kubernetes jobs. See [getting started](../getting-started.md) for operator configuration.
|
|
55
|
+
|
|
56
|
+
[^bootstrap]: src/env.ts, lines 11-27.
|
|
57
|
+
|
|
58
|
+
[^providers]: src/config/providers.ts, lines 74-87.
|
|
59
|
+
|
|
60
|
+
[^cache]: src/config/dependency-cache.ts, lines 36-53.
|