PR #24357 real-dev verification, 2026-10-28 main: 48a292364ab37574c67fb377b5227e5d281d9203 PR head: c67e7ca9dadb15020cee15738c573306858abc72 Both revisions installed with vp i and ran sequentially with vp run dev. Playwright from repository dependencies drove /usr/bin/google-chrome. Created a project pointing to a real GitHub clone through Add project > Local folder. Sent a real Codex gpt-6.1-sol turn through the web composer on both revisions. Prompt: Reply exactly: azure avatar verification ready. Do not edit files or run commands. Both returned: azure avatar verification ready. Runtime API checks used the authenticated web client's WebSocket connection path: Request tag assets.createUrl, payload {resource: {_tag: "github-media", url, cwd?}}. Successful signed relativeUrl results were fetched through the same web origin. The Azure identity was read from dnceng-public's public dotnet-public-wiki PR 5 REST data. URL: https://dev.azure.com/dnceng-public/_api/_common/identityImage?id=08c37c0d-dc6c-6635-9662-1fa8dad90878 main, Azure resource with cwd: Failure: AssetGitHubMediaUrlValidationError main, Azure resource without cwd: Failure: Missing key at [resource][cwd] PR, same Azure resource with cwd: RPC Success; GET signed asset -> HTTP 404; cache-control: private, no-store; 0 bytes PR, same Azure resource without cwd: RPC Success; GET signed asset -> HTTP 404; cache-control: private, no-store; 0 bytes PR server log: Failed to fetch an Azure DevOps avatar. AzureDevOpsCliUnavailableError, command: az Neighboring behavior: https://example.com/avatar.png rejected with AssetGitHubMediaUrlValidationError on both revisions. GitHub author images in PR #24357 list/detail loaded directly from avatars.githubusercontent.com on both revisions (naturalWidth 460). Existing GitHub body attachment, sent with cwd through assets.createUrl: https://github.com/user-attachments/assets/73f386a1-6ef8-4d7f-a4af-70e964e5fa73 PR signed GET: HTTP 200; image/png; 259844 bytes; cache-control: private, max-age=3599 PR Summary -> Timeline -> Summary navigation worked in the real client. Blacksmith command: vp test run packages/source-control-azure-devops/src/server/AzureDevOpsCli.test.ts packages/source-control-azure-devops/src/server/azureDevOpsAvatarFetch.test.ts packages/source-control-azure-devops/src/shared/azureDevOpsAvatar.test.ts apps/server/src/assets/AssetAccess.test.ts 4 files passed; 50 tests passed. GitHub CI on this head: 21 passed, 6 skipped, no failures or pending checks. Not verified: Authenticated Azure CLI/Graph lookup and actual Azure photos in the UI. VM has no az executable, Azure configuration, Azure credential environment variables, or organization access. No Azure avatar before/after appearance claim is made. PAT, legacy visualstudio.com, native mobile, packaged desktop, remote/relay/tunnel, successful-avatar cache and post-login recovery. No code changes, commits, pushes, merges, rebases, label changes, or force pushes.