Repository navigation
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a host-scoped Go result that omits lifetime metadata without inventing a TTL. Regenerate all six wire projections, preserve ordinary session requirements, and exercise scope, serialization, and native owner admission. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep copy and move conditions typed and document exact byte-offset behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Project the experimental managed-hosting contract into all six SDKs and add a Go per-host refreshable credential provider. This draft is based on the exact
go/v1.0.19SDK snapshot (f0b503aae1ba151d29d117088de4238d1983e33e, CLI1.0.95), not current main.GitHubTokenUnknownExpiryResult(&GitHubTokenUnknownExpiry{AccessToken: bearer}). Omit unavailable lifetime metadata without inventing a TTL; reject unknown lifetime for ordinary session providers, including before session ID assignment.Validation
Workspace increment (
91cdf52ec658a22200de6037eea1368137041660):Use this revision rather than the first workspace snapshot: both copy and move now preserve optional
FailIfExists, with regression cases for omitted, true and false values. The expected module version isv1.0.20-0.20261012015351-91cdf52ec658; module acquisition has not been rerun during the download pause.AhpHostOptions.WorkspaceProviderwith typed pre-sessionDescribe/Resolveand guardedRead,Write,Stat,List,Copy,Move,Delete,Mkdir, andAccesscallbacks. This is separate from durableSessionFS.38189988952at8a3c7fce40d7c4041589a71562ee021b64969667; subsequent native changes did not alter the schema source.gofmt -l src/sdk/go/host_workspace.go src/sdk/go/host_workspace_test.go src/sdk/go/host.go src/sdk/go/client.go src/sdk/go/github_token_provider.go: passed (no output) in canonical source.TMPDIR=<owned-build-work> MAVEN_OPTS=-Djava.io.tmpdir=<owned-build-work> ./mvnw -o -q -pl sdk spotless:apply: passed.git diff --check: passed. All 23 projected source files were verified byte-for-byte against the canonical native SDK.114640833947, including pre-session discovery, exact int64/write conditions, copy/move flags, diagnostics isolation, host isolation and cancellation.go test -v ./... -race -timeout=20mand both in-process smoke commands passed; the whole Linux job, including docs checks, succeeded. Complete six-language/platform matrix remains in progress. Replacement existing SDK CI run38195456927has passed schema freshness, real Linux native runtime smoke, Go formatting, golangci-lint, and samplego test ./...; full Go subprocess and in-process tests have also passed in job114640833947; remaining language/platform jobs continue in the same run. Run38193802110failed before language tests because its native runtime omitted the engine-owned host.workspace registry entry; the native companion now repairs it. The earlier38192998800run predates the move-field repair and is not final-head evidence. Local compilation/downloads remain paused after the shared-disk emergency; no dependency installation was performed.3689ef92now passes all 149 native Rust targets and real SDK runtime startup smoke. Replacement native artifact is available remotely, expires 2026-10-13 02:33:25 UTC, and was not downloaded during the disk pause. Do not use withdrawn artifact11722308385. Combined MC/Aspire/browser/inference and live AHP workspace IO are not claimed; the previous unknown-expiry binary still rejects workspaceProvider.Current unknown-expiry update (
b69c6fc1e09d3a03a2790f907fd19927ef3b20a8):go test -race ./... -run 'TestAhp|TestGitHubToken|Test.*InstallationConfirmation' -count=1: passed in canonical and projected SDKs.npm run typecheck: passed in the canonical Node SDK.dotnet build src/GitHub.Copilot.SDK.csproj --no-restore --nologo --verbosity quiet -p:CopilotSkipCliDownload=true: passed, zero warnings/errors../mvnw -o -q -pl sdk spotless:apply: passed in both SDKs.go mod download -json github.com/github/copilot-sdk/go@v1.0.20-0.20261011230559-b69c6fc1e09d: passed without local replaces.COPILOT_RUNTIME_HOST_E2E=1 COPILOT_CLI_PATH=<compatible native wrapper> go test -race . -run '^TestAhpHostRuntimeUnknownExpiryOwnerAdmission$' -count=1 -v: passed all four cases against the updated source-built native artifact. Both unknown and known expiry reach unchanged loopback owner denial; explicit zero and cancellation fail before owner lookup. This is negative owner-admission coverage, not successful hosting.go run . <compatible native wrapper> <owned-state-directory>smoke passed using the published module without local replaces: local namespaced host start/list/dispose, managed callback cancellation, and client shutdown. No real control-plane registration or inference was attempted.Previous managed-hosting foundation:
go test ./... -run 'TestAhp|TestGitHubToken' -count=1: passed in the canonical SDK source.go test -race . -run 'TestAhp|TestGitHubToken' -count=1: passed in both canonical and projected Go SDKs.node --import tsx esbuild-copilotsdk-nodejs.ts, with declared binaries on PATH) andnpm run typecheck: passed.node --import tsx --test java.test.ts: passed, 49 tests../mvnw -pl sdk spotless:apply: passed.dotnet build src/GitHub.Copilot.SDK.csproj --no-restore --nologo --verbosity quiet -p:CopilotSkipCliDownload=true: passed, compile-only, zero warnings/errors.cargo check --no-default-features --features local-runtime,test-support --tests: passed.cargo test --no-default-features --features local-runtime,test-support --lib ahp_host::tests::: passed, 49 tests.github.com/github/copilot-sdk/go v1.0.20-0.20261011215256-1c553e0c8d78: downloaded and verified without local replaces. This is historical unknown-expiry evidence, not a consumer download of the final workspace revision. Current workspace SDK:91cdf52ec658a22200de6037eea1368137041660(expected Go versionv1.0.20-0.20261012015351-91cdf52ec658); no local absolute replaces. Further local downloads are paused for shared-disk capacity.Known integration blockers
This is an experimental companion contract, not a completed remote-worker integration. The Go ergonomic provider and six generated wire projections are published; the replacement native artifact and full native tests are available. The complete SDK language/platform matrix and live integration validation are still pending. Repository materialization and physical guard enforcement belong to the authorized hands adapter. Watchers, local terminals, worktree/Git-truth operations and unsupported project mutations return NotImplemented; there is no local fallback.
Native session repository-policy/context discovery remains separate: explicitly supplied
allowedModelsstill performs local policy discovery, andtrustWorkingDirectoryis rejected with RPC SessionFS. Do not drop those settings or enable local model tools to bypass the limitation. Host-scoped workspace IO does not redirect session inference tools or instructions.Hosting token refresh does not refresh session inference credentials; ordinary session providers still require a known lifetime greater than one hour.
GitHubTokenProviderArgs.Hostis verbatim runtime configuration (defaulthttps://github.com), not SDK-normalized. Validate it against the intended GitHub origin.Unattended organization-principal admission remains unsupported. Installation credentials alone do not grant native remote-control entitlement. No owner wire field, tenant-authorization relaxation, production rollout, or new MC public API is introduced.