You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Review PR: "Hoist PathContainment prefix normalization out of Retry recovery loops" (draft, branch efficiency/retry-pathcontainment-hoist-normalization, ~20x faster/100% less alloc per call) - View open PRs
Energy Efficiency Backlog
Priority
Focus Area
Opportunity
Estimated Impact
LOW
Code-Level
TestExecutionManager MethodLevel parallel array-per-test in setup
One-time setup cost
LOW-MEDIUM
Code-Level
RuntimeRegistrationEmitter.EmitResolveMethodHelper/ResolveProperty (source generator): O(N×M) linear scan per test method at module-init
One-time per-assembly startup cost, not a hot loop
MSTestTelemetryDataCollector.SerializeCollection/SerializeDictionary: OrderBy on telemetry flush
Once per session (cold path)
LOW
Code-Level
TestClassModelBuilder (source generator): Where/GroupBy/Select for duplicate-method detection
Compile-time only, not a runtime hot path
LOW
Code-Level
src/Adapter/MSTest.TestAdapter: reflection-based GetRuntimeMethod lookup in TestMethodFilter (cold, once per discovery context)
Negligible, cold path
LOW
Code-Level
WindowTest.WindowSetup (MSTest.Windows.UIAutomation): fixed 50ms poll interval for window discovery, no exponential backoff
Bounded by 10s timeout, once per test class (cold path); no measurement story in this sandbox (Windows-only)
LOW
Infrastructure
CI output-byte-count health metric
Needs maintainer discussion
LOW-MEDIUM
Code-Level
Executable-condition analyzer (#10634) recursive tree walk not memoized
Gated behind narrow guards, not urgent; evaluate memoization feasibility before attempting
PathContainment.IsUnderDirectory's per-call Path.GetFullPath/TrimEnd/OS-platform recomputation inside Retry's artifact-recovery loops (up to 10,000 manifest records / per-artifact) — fixed this run (draft PR above, ~20x faster/100% less alloc per call, measured). TestCaseExtensions.ToUnitTestElementWithUpdatedSource's Traits double-enumeration and TestContextImplementation.SanitizeTestTempDirectoryName's uncached Path.GetInvalidFileNameChars() both fixed and merged (PRs #11452, #11554). Assert.HasCount/IsEmpty/ContainsSingle/CollectionAssert.AreEquivalent/AreNotEquivalent LINQ-Count()-fast-path family fully merged (incl. maintainer dedup PR #11363). src/Analyzers/MSTest.Analyzers/.CodeFixes exhaustively reviewed, no open items. AzureDevOpsResultIdStore min/max single-pass fix confirmed present in main. Microsoft.Testing.Extensions.Retry (hot path), src/TestFramework/TestFramework/Assertions (drift), CtrfReport/JUnitReport, HangDump, CrashDump, AzureFoundry, Microsoft.Testing.Platform/ServerMode JSON-RPC serializer, MtpServerProcess/ServerTestHost partials, the AzureDevOpsTestResultsPublisher.* partials, MSTest.Windows.UIAutomation, the OTel activity-context consumer dedup, Assert.That's IL-compile fast path, the split DotnetMuxerLocator* files, the new composable test-host orchestrator middleware pipeline, HotReload's base-request reuse, IPC deserialization hardening, and diagnostic-logging exposure were all freshly scanned — all already well-optimized except the one fix above. Most easily-reachable low-hanging fruit across the codebase now appears picked, but genuinely new code (like this run's Retry finding) can still surface real opportunities — fresh-code drift checks remain worthwhile even as folder-by-folder first passes wind down.
Repo continues to be actively self-optimized by maintainers/Copilot coding agent. A separate [perf-improver] agent (issue #10914) is also actively working this repo's performance backlog — worth cross-checking before implementing overlapping items (the 2026-09-26/27 Path.GetInvalid*Chars() caching fixes in two different files, by this agent and [perf-improver], both merged the same day — confirms both agents converge on real, low-risk opportunities).
Discovered Commands
Command
Purpose
./build.sh
Full restore + build (installs SDK to .dotnet/ first)
Run a built test-host binary — more reliable than dotnet test/dotnet run --project in this sandbox for filter flags
<host> --filter "FullyQualifiedName~Name"
vstest-style substring filter that works reliably against a built MTP test host in this sandbox (--treenode-filter syntax proved finicky)
dotnet format whitespace TestFx.slnx --verify-no-changes --include <file>
Format verification (needs explicit TestFx.slnx workspace arg)
Notes: repo-local SDK at .dotnet/dotnet (Arcade-provisioned, must bootstrap via ./build.sh first, ~5-6 min first time). Some internal classes are tracked by the PublicAPI analyzer via a separate InternalAPI/InternalAPI.Shipped.txt+.Unshipped.txt pair (distinct from PublicAPI/) for cross-assembly InternalsVisibleTo test usage — check for this folder before changing an internal method's signature. Files edited with a text-editing tool can lose their required UTF-8 BOM — always verify/restore the BOM on .cs files before running dotnet format. MSTestAdapter.PlatformServices.UnitTests/MSTestAdapter.UnitTests (net462;net48;net8.0;net9.0 multi-target) cannot be restored/run in this Linux sandbox (no .NET Framework SDK) — document as a Test Status gap rather than attempting a partial-TFM restore workaround (that workaround corrupts sibling projects' project.assets.json).
🔧 Created PR: hoisted PathContainment prefix normalization (and cached the Windows OS-platform check) out of two Retry artifact-recovery hot loops (CollectRecoveredArtifacts, RemoveArtifactsOutsideControllerRoots).
📊 Measured: ~20x faster (276ms→14ms/2M calls), 100% allocation eliminated per call (88.0B→0.0B), confirmed via isolated micro-benchmarks that Path.GetFullPath/TrimEnd/concat (not the OS-platform check) was the bottleneck.
🔍 Scanned HangDump/CrashDump/AzureFoundry — one plausible lead (CrashDumpSequenceLoggerAutoFlush=true) declined as intentional crash-safety design, not an inefficiency.
🧹 Fixed a recurrence of the "duplicate Monthly Activity sections" process bug in this issue.
2026-09-22
📊 Measured-and-reverted: RetryArgumentsBuilderList<int>→HashSet<int> conversion — benchmarked as NOT a reliable win at real bounded size (~4-10 entries), reverted via git checkout.
🔍 Drift-scanned Microsoft.Testing.Extensions.Retry, TestFramework/Assertions, CtrfReport/JUnitReport — 0 new findings.
(Older run history condensed into memory.md to keep this issue readable — see repo memory for full detail back to 2026-06.)
Warning
Firewall blocked 96 domains
The following domains were blocked by the firewall during workflow execution:
0t3vsblobprodcus362.vsblob.vsassets.io
11vvsblobprodcus336.vsblob.vsassets.io
169.254.169.254
1javsblobprodcus364.vsblob.vsassets.io
1k9vsblobprodcus379.vsblob.vsassets.io
1oavsblobprodcus350.vsblob.vsassets.io
1p7vsblobprodcus324.vsblob.vsassets.io
1s1vsblobprodcus386.vsblob.vsassets.io
2kmvsblobprodcus39.vsblob.vsassets.io
2zrvsblobprodcus388.vsblob.vsassets.io
37bvsblobprodcus311.vsblob.vsassets.io
37cvsblobprodcus359.vsblob.vsassets.io
4m6vsblobprodcus384.vsblob.vsassets.io
4myvsblobprodcus32.vsblob.vsassets.io
4vyvsblobprodcus361.vsblob.vsassets.io
4zjvsblobprodcus390.vsblob.vsassets.io
51yvsblobprodcus36.vsblob.vsassets.io
5dkvsblobprodcus355.vsblob.vsassets.io
5rqvsblobprodcus385.vsblob.vsassets.io
6s7vsblobprodcus313.vsblob.vsassets.io
7devsblobprodcus323.vsblob.vsassets.io
7k6vsblobprodcus337.vsblob.vsassets.io
7tjvsblobprodcus341.vsblob.vsassets.io
80zvsblobprodcus35.vsblob.vsassets.io
8xbvsblobprodcus382.vsblob.vsassets.io
96bvsblobprodcus338.vsblob.vsassets.io
ajhvsblobprodcus363.vsblob.vsassets.io
bcnvsblobprodcus378.vsblob.vsassets.io
builds.dotnet.microsoft.com
c50vsblobprodcus330.vsblob.vsassets.io
c78vsblobprodcus322.vsblob.vsassets.io
cflvsblobprodcus383.vsblob.vsassets.io
ci.dot.net
ckzvsblobprodcus347.vsblob.vsassets.io
d0svsblobprodcus381.vsblob.vsassets.io
data.nuget.org
dc.services.visualstudio.com
dlbvsblobprodcus316.vsblob.vsassets.io
e7bvsblobprodcus348.vsblob.vsassets.io
fdpvsblobprodcus345.vsblob.vsassets.io
frdvsblobprodcus327.vsblob.vsassets.io
gbsvsblobprodcus365.vsblob.vsassets.io
gervsblobprodcus329.vsblob.vsassets.io
h6tvsblobprodcus346.vsblob.vsassets.io
i1qvsblobprodcus353.vsblob.vsassets.io
imzvsblobprodcus368.vsblob.vsassets.io
jd4vsblobprodcus366.vsblob.vsassets.io
josvsblobprodcus372.vsblob.vsassets.io
jrqvsblobprodcus343.vsblob.vsassets.io
k0ivsblobprodcus356.vsblob.vsassets.io
k4kvsblobprodcus344.vsblob.vsassets.io
kgfvsblobprodcus314.vsblob.vsassets.io
kh4vsblobprodcus325.vsblob.vsassets.io
kijvsblobprodcus387.vsblob.vsassets.io
kmuvsblobprodcus389.vsblob.vsassets.io
kxqvsblobprodcus376.vsblob.vsassets.io
l49vsblobprodcus358.vsblob.vsassets.io
l7avsblobprodcus319.vsblob.vsassets.io
ljcvsblobprodcus317.vsblob.vsassets.io
lylvsblobprodcus31.vsblob.vsassets.io
m16vsblobprodcus374.vsblob.vsassets.io
m6xvsblobprodcus342.vsblob.vsassets.io
m8dvsblobprodcus37.vsblob.vsassets.io
mfjvsblobprodcus373.vsblob.vsassets.io
n3kvsblobprodcus335.vsblob.vsassets.io
nn8vsblobprodcus340.vsblob.vsassets.io
o3svsblobprodcus318.vsblob.vsassets.io
ofvvsblobprodcus315.vsblob.vsassets.io
p2ovsblobprodcus312.vsblob.vsassets.io
pc2vsblobprodcus360.vsblob.vsassets.io
pdfvsblobprodcus380.vsblob.vsassets.io
pe3vsblobprodcus354.vsblob.vsassets.io
pe4vsblobprodcus351.vsblob.vsassets.io
pkgs.dev.azure.com
pkvvsblobprodcus321.vsblob.vsassets.io
rcxvsblobprodcus328.vsblob.vsassets.io
s4uvsblobprodcus326.vsblob.vsassets.io
s8mvsblobprodcus38.vsblob.vsassets.io
se1vsblobprodcus349.vsblob.vsassets.io
southcentralus0.in.applicationinsights.azure.com
sqdvsblobprodcus333.vsblob.vsassets.io
st8vsblobprodcus339.vsblob.vsassets.io
tphvsblobprodcus375.vsblob.vsassets.io
u3hvsblobprodcus371.vsblob.vsassets.io
u6ovsblobprodcus377.vsblob.vsassets.io
ukkvsblobprodcus352.vsblob.vsassets.io
uy6vsblobprodcus34.vsblob.vsassets.io
v53vsblobprodcus320.vsblob.vsassets.io
vb4vsblobprodcus33.vsblob.vsassets.io
vwvvsblobprodcus334.vsblob.vsassets.io
westus0.in.applicationinsights.azure.com
x3yvsblobprodcus370.vsblob.vsassets.io
xupvsblobprodcus332.vsblob.vsassets.io
yluvsblobprodcus367.vsblob.vsassets.io
yttvsblobprodcus357.vsblob.vsassets.io
ytvvsblobprodcus310.vsblob.vsassets.io
To allow these domains, add them to the network.allowed list in your workflow frontmatter:
🤖 Automated content by GitHub Copilot. Generated by the Efficiency Improver workflow. · copilot · auto · 386.4 AIC · ⌖ 20.3 AIC · ⊞ 21.3K · [◷]( · ◷)
Add this agentic workflow to your repo
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/efficiency-improver.md@main
Closing this out — September has ended. Final state: the one open PR tracked here (efficiency/retry-pathcontainment-hoist-normalization, #11671) merged 2026-10-01. 0 open [efficiency-improver] PRs remain. Continuing activity tracking in the new [efficiency-improver] Monthly Activity 2026-10 issue.
🤖 Automated content by GitHub Copilot. Generated by the Efficiency Improver workflow. · copilot · auto · 211.4 AIC · ⌖ 14.1 AIC · ⊞ 21.3K · [◷]( · ◷)
Add this agentic workflow to your repo
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/efficiency-improver.md@main
Activity for September 2026
Suggested Actions for Maintainer
efficiency/retry-pathcontainment-hoist-normalization, ~20x faster/100% less alloc per call) - View open PRsEnergy Efficiency Backlog
TestExecutionManagerMethodLevel parallel array-per-test in setupRuntimeRegistrationEmitter.EmitResolveMethodHelper/ResolveProperty(source generator): O(N×M) linear scan per test method at module-initVideoProduction.csProducePerTestVideosAsyncO(tests×segments) overlap scantest/Utilities/Microsoft.Testing.TestInfrastructure: regex-on-error-retry, tiny-collection LINQMSTestTelemetryDataCollector.SerializeCollection/SerializeDictionary:OrderByon telemetry flushTestClassModelBuilder(source generator):Where/GroupBy/Selectfor duplicate-method detectionsrc/Adapter/MSTest.TestAdapter: reflection-basedGetRuntimeMethodlookup inTestMethodFilter(cold, once per discovery context)WindowTest.WindowSetup(MSTest.Windows.UIAutomation): fixed 50ms poll interval for window discovery, no exponential backoffPathContainment.IsUnderDirectory's per-callPath.GetFullPath/TrimEnd/OS-platform recomputation inside Retry's artifact-recovery loops (up to 10,000 manifest records / per-artifact) — fixed this run (draft PR above, ~20x faster/100% less alloc per call, measured).TestCaseExtensions.ToUnitTestElementWithUpdatedSource's Traits double-enumeration andTestContextImplementation.SanitizeTestTempDirectoryName's uncachedPath.GetInvalidFileNameChars()both fixed and merged (PRs #11452, #11554).Assert.HasCount/IsEmpty/ContainsSingle/CollectionAssert.AreEquivalent/AreNotEquivalentLINQ-Count()-fast-path family fully merged (incl. maintainer dedup PR #11363).src/Analyzers/MSTest.Analyzers/.CodeFixesexhaustively reviewed, no open items.AzureDevOpsResultIdStoremin/max single-pass fix confirmed present inmain.Microsoft.Testing.Extensions.Retry(hot path),src/TestFramework/TestFramework/Assertions(drift),CtrfReport/JUnitReport,HangDump,CrashDump,AzureFoundry,Microsoft.Testing.Platform/ServerModeJSON-RPC serializer,MtpServerProcess/ServerTestHostpartials, theAzureDevOpsTestResultsPublisher.*partials,MSTest.Windows.UIAutomation, the OTel activity-context consumer dedup,Assert.That's IL-compile fast path, the splitDotnetMuxerLocator*files, the new composable test-host orchestrator middleware pipeline, HotReload's base-request reuse, IPC deserialization hardening, and diagnostic-logging exposure were all freshly scanned — all already well-optimized except the one fix above. Most easily-reachable low-hanging fruit across the codebase now appears picked, but genuinely new code (like this run's Retry finding) can still surface real opportunities — fresh-code drift checks remain worthwhile even as folder-by-folder first passes wind down.Repo continues to be actively self-optimized by maintainers/Copilot coding agent. A separate
[perf-improver]agent (issue #10914) is also actively working this repo's performance backlog — worth cross-checking before implementing overlapping items (the 2026-09-26/27Path.GetInvalid*Chars()caching fixes in two different files, by this agent and[perf-improver], both merged the same day — confirms both agents converge on real, low-risk opportunities).Discovered Commands
./build.sh.dotnet/first)./build.sh -test./build.sh -pack./build.sh -pack -test -integrationTest.dotnet/dotnet build <proj>.csproj -c Debug -f <tfm>artifacts/bin/<Project>/Debug/<tfm>/<Assembly>(run directly)dotnet test/dotnet run --projectin this sandbox for filter flags<host> --filter "FullyQualifiedName~Name"--treenode-filtersyntax proved finicky)dotnet format whitespace TestFx.slnx --verify-no-changes --include <file>TestFx.slnxworkspace arg)Notes: repo-local SDK at
.dotnet/dotnet(Arcade-provisioned, must bootstrap via./build.shfirst, ~5-6 min first time). Someinternalclasses are tracked by the PublicAPI analyzer via a separateInternalAPI/InternalAPI.Shipped.txt+.Unshipped.txtpair (distinct fromPublicAPI/) for cross-assemblyInternalsVisibleTotest usage — check for this folder before changing an internal method's signature. Files edited with a text-editing tool can lose their required UTF-8 BOM — always verify/restore the BOM on.csfiles before runningdotnet format.MSTestAdapter.PlatformServices.UnitTests/MSTestAdapter.UnitTests(net462;net48;net8.0;net9.0 multi-target) cannot be restored/run in this Linux sandbox (no .NET Framework SDK) — document as a Test Status gap rather than attempting a partial-TFM restore workaround (that workaround corrupts sibling projects'project.assets.json).Run History
2026-09-30 22:15 UTC - Run
PathContainmentprefix normalization (and cached the Windows OS-platform check) out of two Retry artifact-recovery hot loops (CollectRecoveredArtifacts,RemoveArtifactsOutsideControllerRoots).Path.GetFullPath/TrimEnd/concat (not the OS-platform check) was the bottleneck.2026-09-27 21:43 UTC - Run
efficiency/test-temp-dir-invalidchars-cachemerged as PR [efficiency-improver] Cache Path.GetInvalidFileNameChars() in TestContextImplementation temp-dir sanitization #11554 (2026-09-27T13:10Z).MSTest.Windows.UIAutomationnew project, OTel activity-context consumer dedup,Assert.ThatIL-compile fast path,DotnetMuxerLocator*split) — 0 genuine HIGH/MEDIUM findings; 1 LOW-confidence cold-path lead declined (see backlog).2026-09-26 21:42 UTC - Run
Path.GetInvalidFileNameChars()inTestContextImplementation.SanitizeTestTempDirectoryName(merged as [efficiency-improver] Cache Path.GetInvalidFileNameChars() in TestContextImplementation temp-dir sanitization #11554).AzureDevOpsTestResultsPublisher.*partials, OTel provider-independent-diagnostics (Add provider-independent testing platform diagnostics #11521), executable-condition analyzer family — all already optimal.2026-09-25 (prior runs, condensed)
efficiency/jsonwriter-static-dispatch-table-*merged as PR [efficiency-improver] Make Jsonite JsonWriter's type-dispatch table static (avoid per-call Dictionary+closures) #11522 (JsoniteJsonWriterstatic dispatch table). Scanned new OTel activity-correlation feature andRpcIdParser— already well-optimized.2026-09-24
JsonWriter's per-callDictionary<Type, Action<object>>closures to a static readonly dispatch table, eliminating per-call allocation on the net462/netstandard2.0 server-mode path.2026-09-23
HangDump/CrashDump/AzureFoundry— one plausible lead (CrashDumpSequenceLoggerAutoFlush=true) declined as intentional crash-safety design, not an inefficiency.2026-09-22
RetryArgumentsBuilderList<int>→HashSet<int>conversion — benchmarked as NOT a reliable win at real bounded size (~4-10 entries), reverted viagit checkout.Microsoft.Testing.Extensions.Retry,TestFramework/Assertions,CtrfReport/JUnitReport— 0 new findings.(Older run history condensed into memory.md to keep this issue readable — see repo memory for full detail back to 2026-06.)
Warning
Firewall blocked 96 domains
The following domains were blocked by the firewall during workflow execution:
0t3vsblobprodcus362.vsblob.vsassets.io11vvsblobprodcus336.vsblob.vsassets.io169.254.169.2541javsblobprodcus364.vsblob.vsassets.io1k9vsblobprodcus379.vsblob.vsassets.io1oavsblobprodcus350.vsblob.vsassets.io1p7vsblobprodcus324.vsblob.vsassets.io1s1vsblobprodcus386.vsblob.vsassets.io2kmvsblobprodcus39.vsblob.vsassets.io2zrvsblobprodcus388.vsblob.vsassets.io37bvsblobprodcus311.vsblob.vsassets.io37cvsblobprodcus359.vsblob.vsassets.io4m6vsblobprodcus384.vsblob.vsassets.io4myvsblobprodcus32.vsblob.vsassets.io4vyvsblobprodcus361.vsblob.vsassets.io4zjvsblobprodcus390.vsblob.vsassets.io51yvsblobprodcus36.vsblob.vsassets.io5dkvsblobprodcus355.vsblob.vsassets.io5rqvsblobprodcus385.vsblob.vsassets.io6s7vsblobprodcus313.vsblob.vsassets.io7devsblobprodcus323.vsblob.vsassets.io7k6vsblobprodcus337.vsblob.vsassets.io7tjvsblobprodcus341.vsblob.vsassets.io80zvsblobprodcus35.vsblob.vsassets.io8xbvsblobprodcus382.vsblob.vsassets.io96bvsblobprodcus338.vsblob.vsassets.ioajhvsblobprodcus363.vsblob.vsassets.iobcnvsblobprodcus378.vsblob.vsassets.iobuilds.dotnet.microsoft.comc50vsblobprodcus330.vsblob.vsassets.ioc78vsblobprodcus322.vsblob.vsassets.iocflvsblobprodcus383.vsblob.vsassets.ioci.dot.netckzvsblobprodcus347.vsblob.vsassets.iod0svsblobprodcus381.vsblob.vsassets.iodata.nuget.orgdc.services.visualstudio.comdlbvsblobprodcus316.vsblob.vsassets.ioe7bvsblobprodcus348.vsblob.vsassets.iofdpvsblobprodcus345.vsblob.vsassets.iofrdvsblobprodcus327.vsblob.vsassets.iogbsvsblobprodcus365.vsblob.vsassets.iogervsblobprodcus329.vsblob.vsassets.ioh6tvsblobprodcus346.vsblob.vsassets.ioi1qvsblobprodcus353.vsblob.vsassets.ioimzvsblobprodcus368.vsblob.vsassets.iojd4vsblobprodcus366.vsblob.vsassets.iojosvsblobprodcus372.vsblob.vsassets.iojrqvsblobprodcus343.vsblob.vsassets.iok0ivsblobprodcus356.vsblob.vsassets.iok4kvsblobprodcus344.vsblob.vsassets.iokgfvsblobprodcus314.vsblob.vsassets.iokh4vsblobprodcus325.vsblob.vsassets.iokijvsblobprodcus387.vsblob.vsassets.iokmuvsblobprodcus389.vsblob.vsassets.iokxqvsblobprodcus376.vsblob.vsassets.iol49vsblobprodcus358.vsblob.vsassets.iol7avsblobprodcus319.vsblob.vsassets.ioljcvsblobprodcus317.vsblob.vsassets.iolylvsblobprodcus31.vsblob.vsassets.iom16vsblobprodcus374.vsblob.vsassets.iom6xvsblobprodcus342.vsblob.vsassets.iom8dvsblobprodcus37.vsblob.vsassets.iomfjvsblobprodcus373.vsblob.vsassets.ion3kvsblobprodcus335.vsblob.vsassets.ionn8vsblobprodcus340.vsblob.vsassets.ioo3svsblobprodcus318.vsblob.vsassets.ioofvvsblobprodcus315.vsblob.vsassets.iop2ovsblobprodcus312.vsblob.vsassets.iopc2vsblobprodcus360.vsblob.vsassets.iopdfvsblobprodcus380.vsblob.vsassets.iope3vsblobprodcus354.vsblob.vsassets.iope4vsblobprodcus351.vsblob.vsassets.iopkgs.dev.azure.compkvvsblobprodcus321.vsblob.vsassets.iorcxvsblobprodcus328.vsblob.vsassets.ios4uvsblobprodcus326.vsblob.vsassets.ios8mvsblobprodcus38.vsblob.vsassets.iose1vsblobprodcus349.vsblob.vsassets.iosouthcentralus0.in.applicationinsights.azure.comsqdvsblobprodcus333.vsblob.vsassets.iost8vsblobprodcus339.vsblob.vsassets.iotphvsblobprodcus375.vsblob.vsassets.iou3hvsblobprodcus371.vsblob.vsassets.iou6ovsblobprodcus377.vsblob.vsassets.ioukkvsblobprodcus352.vsblob.vsassets.iouy6vsblobprodcus34.vsblob.vsassets.iov53vsblobprodcus320.vsblob.vsassets.iovb4vsblobprodcus33.vsblob.vsassets.iovwvvsblobprodcus334.vsblob.vsassets.iowestus0.in.applicationinsights.azure.comx3yvsblobprodcus370.vsblob.vsassets.ioxupvsblobprodcus332.vsblob.vsassets.ioyluvsblobprodcus367.vsblob.vsassets.ioyttvsblobprodcus357.vsblob.vsassets.ioytvvsblobprodcus310.vsblob.vsassets.ioTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.
Add this agentic workflow to your repo
To install this agentic workflow, run
Closing this out — September has ended. Final state: the one open PR tracked here (
efficiency/retry-pathcontainment-hoist-normalization, #11671) merged 2026-10-01. 0 open[efficiency-improver]PRs remain. Continuing activity tracking in the new[efficiency-improver] Monthly Activity 2026-10issue.Add this agentic workflow to your repo
To install this agentic workflow, run