Skip to content

Conversation

@dotnet-maestro
Copy link
Contributor

@dotnet-maestro dotnet-maestro bot commented Feb 6, 2026

Note

This is a codeflow update. It may contain both source code changes from
the VMR
as well as dependency updates. Learn more here.

This pull request brings the following source code changes

From https://github.com/dotnet/dotnet

Updated Dependencies

  • From 5.4.0-2.26069.103 to 5.5.0-2.26103.111
    • Microsoft.CodeAnalysis
    • Microsoft.CodeAnalysis.Analyzers
    • Microsoft.CodeAnalysis.CSharp
    • Microsoft.Net.Compilers.Toolset
  • From 11.0.100-preview.1.26069.103 to 11.0.100-preview.2.26103.111
    • Microsoft.CodeAnalysis.NetAnalyzers
    • Microsoft.DotNet.ApiCompat.Task
    • Microsoft.NET.Workload.Emscripten.Current.Manifest-11.0.100.Transport
  • From 11.0.0-beta.26069.103 to 11.0.0-beta.26103.111
    • Microsoft.DotNet.Arcade.Sdk
    • Microsoft.DotNet.Build.Tasks.Archives
    • Microsoft.DotNet.Build.Tasks.Feed
    • Microsoft.DotNet.Build.Tasks.Installers
    • Microsoft.DotNet.Build.Tasks.Packaging
    • Microsoft.DotNet.Build.Tasks.TargetFramework
    • Microsoft.DotNet.Build.Tasks.Templating
    • Microsoft.DotNet.Build.Tasks.Workloads
    • Microsoft.DotNet.CodeAnalysis
    • Microsoft.DotNet.GenAPI
    • Microsoft.DotNet.GenFacades
    • Microsoft.DotNet.Helix.Sdk
    • Microsoft.DotNet.PackageTesting
    • Microsoft.DotNet.RemoteExecutor
    • Microsoft.DotNet.SharedFramework.Sdk
    • Microsoft.DotNet.XliffTasks
    • Microsoft.DotNet.XUnitExtensions
  • From 0.11.5-preview.26069.103 to 0.11.5-preview.26103.111
    • Microsoft.DotNet.Cecil
  • From 2.9.3-beta.26069.103 to 2.9.3-beta.26103.111
    • Microsoft.DotNet.XUnitAssert
    • Microsoft.DotNet.XUnitConsoleRunner
  • From 11.0.0-preview.1.26069.103 to 11.0.0-preview.2.26103.111
    • Microsoft.NET.Sdk.IL
    • Microsoft.NETCore.App.Ref
    • Microsoft.NETCore.ILAsm
    • runtime.native.System.IO.Ports
    • System.Reflection.Metadata
    • System.Reflection.MetadataLoadContext
    • System.Text.Json
  • From 7.3.0-preview.1.7003 to 7.4.0-rc.10411
    • NuGet.Frameworks
    • NuGet.Packaging
    • NuGet.ProjectModel
    • NuGet.Versioning
  • From 3.0.0-preview.1.26069.103 to 3.0.0-preview.2.26103.111
    • System.CommandLine
  • From 11.0.0-alpha.1.26061.1 to 11.0.0-alpha.1.26076.4
    • runtime.linux-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport
    • runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport
    • runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport
    • runtime.linux-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport
    • runtime.osx-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport
    • runtime.osx-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport
    • runtime.win-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport
    • runtime.win-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport
  • From 19.1.0-alpha.1.25625.2 to 19.1.0-alpha.1.26076.1
    • runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools
    • runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang
    • runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
    • runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
    • runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools
    • runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang
    • runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
    • runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
    • runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools
    • runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang
    • runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
    • runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
    • runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools
    • runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang
    • runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
    • runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
    • runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools
    • runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang
    • runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
    • runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
    • runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools
    • runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang
    • runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
    • runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
    • runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools
    • runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools
    • runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang
    • runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
    • runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools

Associated changes in source repos

Diff the source with this PR branch
darc vmr diff --name-only https://github.com/dotnet/dotnet:3531114c7feabc86ea3769ca2c5b804e5339a932..https://github.com/dotnet/runtime:darc-main-25f83604-472f-4ddc-8317-7683fd918efe

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Feb 6, 2026

Caution

🚨 Action Required — Conflict detected

A conflict was detected when trying to update this PR with changes from build 300217 of https://github.com/dotnet/dotnet/tree/3531114c7feabc86ea3769ca2c5b804e5339a932.

The conflicts in the following files need to be manually resolved:

ℹ️ To resolve the conflicts, please follow these steps:

  1. Clone the current repository
    git clone https://github.com/dotnet/runtime
    cd runtime
  2. Make sure your darc is up-to-date
    (version 1.1.0-beta.26102.3 or higher)
    # Linux / MacOS
    ./eng/common/darc-init.sh
    # or on Windows
    .\eng\common\darc-init.ps1
  3. Run from repo's git clone and follow the instructions provided by the command to resolve the conflict locally
    darc vmr resolve-conflict --subscription f7901f87-9f24-40d6-9bc1-564863937237
    This should apply the build 300217 with sources from 3531114
  4. Commit & push the changes
  5. Once pushed, the Codeflow verification check will turn green.
    If not, a new build might have flown into the PR and you might need to run the command above again.

💡 You may consult the FAQ for more information or tag @dotnet/prodconsvcs for assistance.

@github-actions github-actions bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Feb 6, 2026
@lewing lewing added area-codeflow for labeling automated codeflow and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Feb 8, 2026
@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Feb 9, 2026

Important

While this PR was open, the source repository has received code changes from this repository (an opposite codeflow merged).
To avoid complex conflicts, the codeflow cannot continue until this PR is closed or merged.

You can continue with one of the following options:

  • Ignore this and merge this PR as usual without waiting for the new changes.
    Once merged, Maestro will create a new codeflow PR with the new changes.
  • Close this PR and wait for Maestro to open a new one with old and new changes included.
    You will lose any manual changes made in this PR.
    You can also manually trigger the new codeflow right away by running:
    darc trigger-subscriptions --id f7901f87-9f24-40d6-9bc1-564863937237
    
  • Force a codeflow into this PR at your own risk if you want the new changes.
    User commits made to this PR might be reverted.
    darc trigger-subscriptions --id f7901f87-9f24-40d6-9bc1-564863937237 --force
    

💡 You may consult the FAQ for more information or tag @dotnet/prodconsvcs for assistance.

EPILOG_RETURN
NESTED_END CallJittedMethodRetBuff, _TEXT

// X0 - routines array
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the changes in this file should be part of the PR

@stephentoub
Copy link
Member

Code Review: PR #124095

Holistic Assessment

Motivation: VMR codeflow update bringing source code changes from dotnet/dotnet along with dependency version updates.

Approach: Standard codeflow PR pattern - version bumps in eng/ files plus source changes that flowed from the VMR.

Net positive: ✅ Yes - this is a routine infrastructure update with low-risk source changes.


Detailed Findings

Version Updates (eng/Version.Details.*, global.json, Versions.props)

Standard dependency bumps for Arcade, Helix, Roslyn, NuGet, and other infrastructure packages. These are auto-generated by Maestro and follow the expected codeflow pattern.

ARM64 Interpreter Call Stubs (src/coreclr/vm/arm64/asmhelpers.S)

Adds four new CallJittedMethod variants for small integer return types:

  • CallJittedMethodRetI1 - signed byte return (uses sxtb for sign extension)
  • CallJittedMethodRetI2 - signed short return (uses sxth for sign extension)
  • CallJittedMethodRetU1 - unsigned byte return (uses uxtb for zero extension)
  • CallJittedMethodRetU2 - unsigned short return (uses uxth for zero extension)

These follow the exact same pattern as existing CallJittedMethodRetI8 and similar helpers, with the appropriate ARM64 sign/zero extension instructions applied to the return value in w0 before storing to the interpreter stack. The code structure, prolog/epilog macros, and register usage are consistent with adjacent functions.

BOM Removal (TensorPrimitives.Bit.cs)*

Removes UTF-8 BOM from two source files. This is a minor cleanup with no semantic impact.

💡 WebAssembly Pack Tasks Simplification (Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj)

  • Drops NetFrameworkToolCurrent target, now only targets NetCoreAppToolCurrent
  • Simplifies GetFilesToPackage target to not enumerate framework subdirectories
  • Updates WasmApp.InTree.props to add TFM subdirectory to tools path

This appears to be a deliberate simplification removing .NET Framework support for this build task. The props file update maintains consistency with the new output structure.


Summary

Verdict: ✅ Approve

This is a standard VMR codeflow PR with routine dependency updates and low-risk source changes. The new ARM64 assembly helpers correctly implement sign/zero extension for small integer types, following established patterns. The WebAssembly task simplification is consistent across both the project and props files.

No issues identified that would block merging.

@akoeplinger akoeplinger force-pushed the darc-main-25f83604-472f-4ddc-8317-7683fd918efe branch from c7893c8 to f1caa3b Compare February 10, 2026 16:54
@akoeplinger akoeplinger deleted the darc-main-25f83604-472f-4ddc-8317-7683fd918efe branch February 10, 2026 17:15
@akoeplinger
Copy link
Member

@premun FYI there was some weird thing going on here, would appreciate a look

@akoeplinger
Copy link
Member

New PR: #124232

lewing added a commit that referenced this pull request Feb 11, 2026
…e push & empty diff detection (#124231)

This improves the vmr-codeflow-status Copilot CLI skill with
enhancements discovered while investigating a stale codeflow PR
([#124095](#124095)).

## Design Change: Current State First

Inspired by the code-review skill restructuring in #124229, the analysis
now follows a **"current state first, comments as history"** pattern:

1. **Assess current state** from primary signals (PR state, diff size,
force pushes, timeline) before reading any Maestro comments
2. **Form an independent verdict** (MERGED / CLOSED / NO-OP / IN
PROGRESS / STALE / ACTIVE)
3. **Then** read comments as historical context to explain how we got to
the current state
4. **Recommendations** are generated by the agent from a structured JSON
summary, not hardcoded script logic

Previously, the script read Maestro conflict/staleness comments first
and drew conclusions from them — even when those comments were stale
(e.g., after someone had already force-pushed a resolution).
Recommendations were a 130-line if/elseif chain that couldn't adapt to
edge cases.

## New Capabilities

### 1. Current State Assessment (Step 2)
Synthesizes primary signals into an immediate verdict before any comment
parsing:
- `✅ MERGED` — PR has been merged, no action needed
- `✖️ CLOSED` — PR was closed without merging, Maestro should create a
replacement
- `📭 NO-OP` — empty diff, likely already resolved
- `🔄 IN PROGRESS` — recent force push, awaiting update
- `⏳ STALE` — no activity for >3 days
- `✅ ACTIVE` — PR has content and recent activity

### 2. Force Push Detection
Queries PR timeline for `head_ref_force_pushed` events, showing who
force-pushed and when. Uses `--slurp` for correct pagination handling.

### 3. Empty Diff Detection
Checks `changedFiles`/`additions`/`deletions` to flag 0-change PRs as
NO-OP (regardless of whether a force push caused it).

### 4. Post-Action Staleness Analysis
Cross-references force push timestamps against conflict/staleness
warnings. When a force push post-dates these warnings, the script
correctly identifies the issues as potentially resolved.

### 5. JSON Summary + Agent-Generated Recommendations
The script's hardcoded recommendations (130+ lines of branching logic)
have been replaced with:
- A `[CODEFLOW_SUMMARY]` JSON block emitted at the end of the script
with all key facts
- `isCodeflowPR` boolean for explicit codeflow vs non-codeflow
classification
- A "Generating Recommendations" section in SKILL.md that teaches the
agent how to reason over the summary
- The agent now synthesizes contextual, nuanced recommendations instead
of picking from a canned decision tree

### 6. Codeflow History (renamed section)
The former "Staleness & Conflict Check" is now "Codeflow History" with a
framing line: *"Maestro warnings (historical — see Current State for
present status)"*. This signals that comments describe past events, not
necessarily current state.

## Testing
- Verified against PR #124095 (closed backflow with conflicts + force
push) and PR #124231 (non-codeflow PR)
- Multi-model review round 1 (Claude Sonnet 4, GPT-5): consensus
findings → added merged/closed state handling, empty-diff-only NO-OP,
`--slurp` pagination fix
- Multi-model test round 2 (Claude Sonnet 4, GPT-5): functional test of
JSON summary → fixed `isUpToDate` null handling, negative
`daysSinceUpdate`, added `isCodeflowPR` field, clean exit codes,
non-codeflow guidance in SKILL.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-codeflow for labeling automated codeflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants