Repository navigation
fix(foundry): share access preparation across agent and toolbox writes - #10740
Draft
Travis Angevine (trangevi) wants to merge 1 commit into
Draft
Travis Angevine (trangevi) wants to merge 1 commit into
Travis Angevine (trangevi) wants to merge 1 commit into
Conversation
Complete layer 3 of the Foundry access stack: migrate agent predeploy and diagnostics to shared helpers, cover remaining toolbox write paths, and preserve local validation and injected diagnostics. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: Successfully started running 2 pipeline(s). 25 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
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.
Stack: layer 3 of 3
Depends on #10739 (targeted toolbox deploy/create fix), which depends on #10738 (core Foundry helpers). Base:
trangevi/toolbox-targeted-fixat1d55dbc78d964358cd0fb5e947526e275b49cafe; the exact core commit143bfc5962613ca79a8b41d208f3246d3762b900is also in the ancestry.Split from #10736, using verified source commit
7aa122c50ff86fabe45add0846353231bceb1319. Related to #10718. This is the broader integration layer, deliberately separate from the issue-targeted deployment/create changes in #10739.Changes
pkg/foundryprobe-first access preparation, including grant-attempt, propagation-wait, and confirmed-readiness progress using agents' existing output conventions. Migrate read-only role diagnostics to shared role inspection without automatic grants.connection add/remove,skill add/remove, andpublish. Pass each command's injected diagnostic writer through access preparation; preserve JSON stdout.--from-version=), conflicts, and duplicate skill entries before authentication or mutations.Preserved lower-layer behavior
No core changes in this PR. Keep the optional nil-safe core Progress callback with no terminal printing in core; readiness is reported only after a successful post-grant probe. Keep the endpoint-aware adapter (not a context-only callback), probe-first effective/custom-role access, precise 409 handling, deterministic assignment IDs, bounded readiness, cancellation, strict ARM/endpoint/subscription identity, guest-user user-access credentials and resource-tenant principals, skip precedence, and deployment's fallback tenant behavior. Provisioning, read/delete, local authoring, and bring-your-own endpoint reuse never auto-grant.
The original 32-file cumulative scope was accounted for against the verified source; differences preserve newer lower-layer improvements and main-branch changes, plus injected writers, explicit help, expanded regressions, and removal of the redundant credential file. Lower-layer branches and PRs were not modified.
Release gate
Both extensions still pin core SDK v1.37.0, which lacks these APIs. Release the core helpers in #10738 first, then bump consumer SDK dependencies to that actual release before merging/releasing independently publishable consumers. No invented version, repository-local replace, or committed Go workspace. Local validation used an external session-artifact GOWORK containing this checkout's core, agents, and toolboxes, with GOTOOLCHAIN=go1.26.4.
Validation
go test ./pkg/foundry/....go test ./internal/project/... ./internal/cmd/... -shortand extension build.go test ./..., expanded write-route/validation/injected-writer regressions, and extension build.go vet,go fix -diff, sequential golangci-lint (zero issues), changed-file spelling, copyright headers, andgit diff --check.2.00-setup-deploy-shared-agent.yaml: static MCPlist_scenariosenumeration via the exact WSL-mounted worktree, plus local YAML shape, tags, known placeholders, fixture, cleanup, and readiness-contract checks. No scenario was executed and no Azure resources were created. Live verification remains cost-gated through the foundry-extension-scenario-orchestrator.